更新时间:2022-07-02 17:43:11
@Import({User.class, DBHelper.class}) @Configuration(proxyBeanMethods = false) //告诉SpringBoot这是一个配置类 == 配置文件 public class MyConfig { }
//1、返回我们IOC容器 ConfigurableApplicationContext run = SpringApplication.run(MainApplication.class, args); //... //5、获取组件 String[] beanNamesForType = run.getBeanNamesForType(User.class); for (String s : beanNamesForType) { //com.xiaozhi.bean.User //user01 System.out.println(s); } DBHelper bean1 = run.getBean(DBHelper.class); //ch.qos.logback.core.db.DBHelper@188cbcde System.out.println(bean1);
②. 用@ConditionalOnMissingBean举例说明
@Configuration(proxyBeanMethods = false) //告诉SpringBoot这是一个配置类 == 配置文件 //有tom名字的Bean时,MyConfig类的Bean才能生效 @ConditionalOnBean(name="tom") public class MyConfig { //给容器中添加组件。以方法名作为组件的id。返回类型就是组件类型。返回的值,就是组件在容器中的实例 @Bean //当容器中有tom组件的时候,才给注册user01 //@ConditionalOnBean(name="tom") public User user01(){ User zhangsan = new User("zhangsan", 18); //user组件依赖了Pet组件 zhangsan.setPet(tomcatPet()); return zhangsan; } //@Bean("tom") @Bean("tom2") public Pet tomcatPet(){ return new Pet("tomcat"); } }
SPRINGBOOT01_概述、入门案例、父项目依赖管理特性、@Configuration、@Import、@Conditional、@ConfigurationProperties配置绑定(三)
SPRINGBOOT01_概述、入门案例、父项目依赖管理特性、@Configuration、@Import、@Conditional、@ConfigurationProperties配置绑定(二)
SPRINGBOOT01_概述、入门案例、父项目依赖管理特性、@Configuration、@Import、@Conditional、@ConfigurationProperties配置绑定(四)
SPRINGBOOT01_概述、入门案例、父项目依赖管理特性、@Configuration、@Import、@Conditional、@ConfigurationProperties配置绑定(一)
SPRINGBOOT01_概述、入门案例、父项目依赖管理特性、@Configuration、@Import、@Conditional、@ConfigurationProperties配置绑定(一)