spring boot 配置文件如何写

spring boot的配置文件@Configuration注解的文件,它相当于一个xml配置文件,它与spring IOC里面的@Service或@Component不太一样,不能当做一个@Service或@Component那样去用,比如在它内部写带有@Autowired的成员变量是错误的。下面是我总结的一些建议,

1、不要在@Configurantion写带有@Autowired(包括@Resource)的成员变量;

因为在@Configuration的@Bean方法中,对于@Autowired成员变量的调用,总是null(可能根本就不会注入)。

2、对于简单的Bean,写一个专门的方法名为xxx(),尽量不要加参数

其他的Bean如果要使用这个Bean,直接调用xxx(),如果多个地点依赖这个Bean,可以反复调用,不会重复生成
 

3、对于复杂的Bean,需要修改内部方法的

a、单独建立一个类进行修改
b、在@Configuration中单独为其建立一个@Bean注解方法,在这个方法内把它new出来,然后在@Configuration的其他位置去使用
c、注意:不要用@Component或@Service等注解使其成为spring IOC中的Bean
d、这种复杂Bean,如果依赖其他的Bean,有两种方式来装配。
d1)通过@Autowired或@Resource+set方法,注入
d2)不使用注入,可以在Bean new出来之后,通过set方法设置

4、@DependsOn

可以使用在@Bean注解方法上,也可以用在Class上与@Component或@Service配合,两者都可以决定Bean的顺序。要注意的是,它不能影响@Configuration,假如想要@Configuration中依赖某一个Bean,在@Configuration的头部加@DependsOn是没用的

5、其他不太重要的

@Resource不能放在构造器上,@Autowired可以。
posted @ 2018-09-01 18:19  leondryu  阅读(484)  评论(0)    收藏  举报