Spring Framework

1:往ioc中添加一个对象:里面在初始化MyBean的时候需要参数,而这个参数却 配置在properties文件中,就可以写成下面这样

@PropertySource表示读取配置文件

 @Configuration
 @PropertySource("classpath:/com/acme/app.properties")
 public class AppConfig {

     @Inject Environment env;

     @Bean
     public MyBean myBean() {
         return new MyBean(env.getProperty("bean.name"));
     }
 }

测试调用

 AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext();
 ctx.register(AppConfig.class);
 ctx.refresh();
 MyBean myBean = ctx.getBean(MyBean.class);
 // use myBean ...

@Profile(""):表示当前需要使用哪个配置文件中的数据,有开发版,发布版。

 @Configuration
 public class ProfileDatabaseConfig {

     @Bean("dataSource")
     @Profile("development")
     public DataSource embeddedDatabase() { ... }

     @Bean("dataSource")
     @Profile("production")
     public DataSource productionDatabase() { ... }
 }

 

上一篇:SpringBoot的@Configuration


下一篇:在Spring中创建bean的理解