Core library for spring-boot-up.
Easily access to the Spring ApplicationContext within an application.
SpringBootUp.getBean("MyBean");
<dependency>
<groupId>com.github.wnameless.spring.boot.up</groupId>
<artifactId>spring-boot-up-core</artifactId>
<version>${newestVersion}</version>
<!-- Newest version shows in the maven-central badge above -->
</dependency>
This lib uses Semantic Versioning: {MAJOR.MINOR.PATCH}
.
However, the MAJOR version is always matched the Spring Boot MAJOR version.
@EnableSpringBootUp
@Configuration
public class MyConfiguration {}
Name | Option | Description | Exception-Free | Since |
---|---|---|---|---|
Bean | Provide methods that return Optional values to prevent exceptions | v3.0.0 | ||
findGenericBean | Find an Optional of target generic bean | ✔️ | v3.0.0 | |
findAllGenericBeans | Find a List of target generic beans | ✔️ | v3.0.0 | |
getBean(type) getBean(beanName) |
Shortcut: ApplicationContext#getBean | v3.0.0 | ||
findBean(type) findBean(beanName) |
Find an Optional of target bean | ✔️ | v3.0.0 | |
getBean(type, arg...) | Shortcut: ApplicationContext#getBean | v3.0.0 | ||
findBean(type, arg...) | Find an Optional of target bean with args | ✔️ | v3.0.0 | |
getBean(beanName, requiredType) | Shortcut: ApplicationContext#getBean | v3.0.0 | ||
findBean(beanName, requiredType) | Find an Optional of target bean with generics | ✔️ | v3.0.0 | |
getBeansOfType | Shortcut: ApplicationContext#getBeansOfType | v3.0.0 | ||
getBeansWithAnnotation | Shortcut: ApplicationContext#getBeansWithAnnotation | v3.0.0 | ||
containsBean(type) containsBean(beanName) |
Check bean existence | ✔️ | v3.0.0 | |
Message | Remove Locale argument by utilizing LocaleContextHolder#getLocale | v3.0.0 | ||
getMessage(code) | Shortcut: ApplicationContext#getMessage | v3.0.0 | ||
findMessage(code) | Find an Optional of a message | ✔️ | v3.0.0 | |
getMessage(code, arg...) | Shortcut: ApplicationContext#getMessage | v3.0.0 | ||
findMessage(code, arg...) | Find an Optional of a message with args | ✔️ | v3.0.0 | |
getMessage(code, args, default) | Shortcut: ApplicationContext#getMessage | ✔️ | v3.0.0 | |
getMessage(MessageSourceResolvable) | Shortcut: ApplicationContext#getMessage | v3.0.0 | ||
findMessage(MessageSourceResolvable) | Find an Optional of a message with MessageSourceResolvable | ✔️ | v3.0.0 | |
Event | Shortcut: ApplicationContext#publishEvent | - | v3.0.0 | |
Enviroment | Shortcut: Enviroment | - | v3.0.0 | |
ApplicationContext | Shortcut: ApplicationContext | - | v3.0.0 |
🔝 Bean
🔝 findGenericBean
Optional<GenericBean<String>> genericBean = SpringBootUp.findGenericBean(GenericBean.class, String.class);
🔝 findAllGenericBeans
List<GenericBean<String>> allGenericBeans = SpringBootUp.findAllGenericBeans(GenericBean.class, String.class);
🔝 getBean(type), getBean(beanName)
TestBean bean;
// Equivalent to ApplicationContext#getBean(Class)
bean = SpringBootUp.getBean(TestBean.class);
// Equivalent to ApplicationContext#getBean(String)
bean = SpringBootUp.getBean("testBean");
🔝 findBean(type), findBean(beanName)
Optional<TestBean> beanOpt;
beanOpt = SpringBootUp.findBean(TestBean.class);
beanOpt = SpringBootUp.findBean("testBean");
🔝 getBean(type, arg...)
TestArgBean argBean;
// Equivalent to ApplicationContext#getBean(Class, Object...)
argBean = SpringBootUp.getBean(TestBean.class, "arg");
// Equivalent to ApplicationContext#getBean(String, Object...)
argBean = SpringBootUp.getBean("testBean", "arg");
🔝 findBean(type, arg...)
Optional<TestArgBean> argBeanOpt;
argBeanOpt = SpringBootUp.findBean(TestBean.class, "arg");
argBeanOpt = SpringBootUp.findBean("testBean", "arg");
🔝 getBean(beanName, requiredType)
// Equivalent to ApplicationContext#getBean(String, Class)
TestBean beanWithRequiredType = SpringBootUp.getBean("testBean", TestBean.class);
🔝 findBean(beanName, requiredType)
Optional<TestBean> beanWithRequiredType = SpringBootUp.findBean("testBean", TestBean.class);
🔝 getBeansOfType
Map<String, GenericBean<?>> beansOfType;
// Equivalent to ApplicationContext#getBeansOfType(Class)
beansOfType = SpringBootUp.getBeansOfType(GenericBean.class);
// Equivalent to ApplicationContext#getBeansOfType(Class, boolean, boolean)
beansOfType = SpringBootUp.getBeansOfType(GenericBean.class, true, true);
🔝 getBeansWithAnnotation
// Equivalent to ApplicationContext#getBeansWithAnnotation(Class)
Map<String, Object> beansWithAnnotation = SpringBootUp.getBeansWithAnnotation(TestAnnotation.class);
🔝 containsBean
// Equivalent to ApplicationContext#containsBean(String)
SpringBootUp.containsBean("testBean");
SpringBootUp.containsBean(TestBean.class);
🔝 Message - removing Locale arguments by using LocaleContextHolder#getLocale
🔝 getMessage(code)
String msg = SpringBootUp.getMessage("test.spring.boot.up.message");
🔝 findMessage(code)
Optional<String> msgOpt = SpringBootUp.findMessage("test.spring.boot.up.message");
🔝 getMessage(code, arg...)
String msg = SpringBootUp.getMessage("test.spring.boot.up.message", "test");
🔝 findMessage(code, arg...)
Optional<String> msgOpt = SpringBootUp.findMessage("test.spring.boot.up.message", "test");
🔝 getMessage(code, args, default)
// Get message with args and default, no Exception
String msg = SpringBootUp.getMessage("test.spring.boot.up.message", new Object[] {"test"}, ""));
🔝 getMessage(MessageSourceResolvable)
MessageSourceResolvable resolvable = new DefaultMessageSourceResolvable("test.spring.boot.up.message");
String msg = SpringBootUp.getMessage(resolvable);
🔝 findMessage(MessageSourceResolvable)
MessageSourceResolvable resolvable = new DefaultMessageSourceResolvable("test.spring.boot.up.message");
Optional<String> msgOpt = SpringBootUp.findMessage(resolvable);
🔝 Event
// TestApplicationEvent extends ApplicationEvent
SpringBootUp.publishEvent(new TestApplicationEvent("testEvent"));
SpringBootUp.publishEvent("testEvent");
🔝 Enviroment
Enviroment env = SpringBootUp.enviroment();
🔝 ApplicationContext
ApplicationContext appCtx = SpringBootUp.appicationContext();
Note | Since |
---|---|
Java 17 required. | v3.0.0 |
Spring Boot 3.0.0+ required. | v3.0.0 |