springboot配置全局所有bean使用全限定名称方式命名单例对象
时间: 2024-01-26 19:05:00 浏览: 86
通过Spring上下文获取bean的实例对象
在 Spring Boot 中,可以通过配置文件的方式来实现全局所有 Bean 使用全限定名称方式命名单例对象。
在 `application.properties` 或 `application.yml` 配置文件中添加以下配置:
```properties
spring.main.allow-bean-definition-overriding=true
spring.beaninfo.ignore=true
spring.main.lazy-initialization=true
spring.main.web-application-type=none
spring.main.banner-mode=off
spring.main.log-startup-info=false
spring.main.register-shutdown-hook=false
```
其中,`allow-bean-definition-overriding` 允许 Bean 的定义覆盖,`beaninfo.ignore` 忽略 Bean 的信息,`lazy-initialization` 开启懒加载,`web-application-type` 设置为 `none`,`banner-mode` 关闭 Banner 输出,`log-startup-info` 关闭启动信息的日志输出,`register-shutdown-hook` 禁用应用程序的优雅关闭功能。
然后,在每个 Bean 的类上添加 `@Component` 注解,并指定其 Bean 名称为全限定类名,例如:
```java
@Component("com.example.demo.bean.UserBean")
public class UserBean {
//...
}
```
这样,所有的 Bean 都会以全限定类名的方式命名,实现了全局所有 Bean 使用全限定名称方式命名单例对象的效果。
阅读全文