这篇文章总结一下Springboot中比较常用的用法,用于以后完成框架的搭建。
1.关于bean的配置以及注入
之前介绍了几种方式,这里做个总结。
1.1 如果只需要创建一个对象,根本不需要在AppConfig类中注册@bean,可以直接用注解+扫描的方式来实现,具体是用@Component+@ComponentScan(“扫描包”)+@Autowired方式来配置和注入。
这里做几点说明:a).@Compnnent也可以替换为@Service和@Controller等;b).@ComponentScan如果后边不加括号会默认去当前这个注解类所在包下去扫描;c).@Component这个包没有需要时不需要声明的,因为它包含在主类的总注解@SpringBootApplication里;
1.2 如果需要对同一个类创建多个对象,则必须使用类+注解的方式来实现了,无法使用扫描注解。必须在AppConfig类中利用@Bean注解创建几个同类型的bean,具体来说需要利用@Configuration+@Bean+@Import+@Autowired
这里做几点说明:a).@Configuration注解修饰AppConfig这个配置类; b).@Import这个注解可以省略,因为@ComponentScan这个方法也会扫描@Configuration注解。
2.属性绑定
2.1 (最推荐)使用MyProperties.java类与application.properties文件中的属性进行一一对应,减少每次需要同一个属性都需要进行属性匹配。具体使用MyProperties类+@Component+@ConfigurationProperties+@Autowired来处理
需要说明的是:a).@Component+@Autowired两个注解将MyProperties这个类作为bean进行配置和注入; b).@ConfigurationProperties将application.properties与MyProperties.java这两个类中的属性值一一对应起来,完全省略了@Value属性,还可以借助这个注解来匹配前缀。
2.2 如果不想使用@Component来将MyProperties.java这个类作为bean被扫描,可以自己主动注册,在AppConfig的这个类上添加注解@EnableConfigurationProperties(MyProperties.class)或者@ConfigurationPropertiesScan(“com.example.propertise”),前者是只有一个properties的java文件,后者是为了处理有多个properties的java类的情况。具体来说就是MyProperties类+@ConfigurationProperties+上述两个注解二选一+@Autowired。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/289492.html