1. @SpringBootApplication
常用于Spring Boot启动类上,注解等价于以默认属性使用 @Configuration , @EnableAutoConfiguration 和 @ComponentScan
2. @Configuration
注解该类,等价于xml中配置beans。在该类的方法上使用@Bean,等价于在xml中配置bean
3.@EnableAutoConfiguration
能够自动配置spring的上下文,(exclude={xxxx.class}) 禁用特定的自动配置
4.@ComponentScan("包路径")
对指定包下进行组件扫描,可自动发现和装配一些Bean
5.@PropertySource("classpath:文件路径/文件名")
用来读取resources下的配置文件中属性。很多属性并不是全局的,所以放在application.properties中不合适。我们可以创建一个pojo类,在类上使用这个注解指定配置文件,并且说明前缀,并交给Spring Boot管理。如果在resources下,就不用写文件路径,@PropertySource("classpath:文件名")
pojo类:
person.properties配置文件:
6.ConfigurationProperties(prefix = "前缀")
此注解经常用来读取属性。
7.@Value
此注解用来读取属性。一些全局属性经常配置在applicatin.properties中。如果数量不多,专门写一个pojo类会显得繁琐。可以在类中成员位置或者方法参数中使用@Value。使用时要保证application.properties中有这个属性,否则报错找不到
8.@Component
把类交给Spring管理,作用等同于@Controller,@Service
@Component与@Configuration区别
如果注解的类中没有@Bean标签,使用起来无差异。
如果类中有@Bean注解的方法,有区别。具体如下:
@Configuration注解:所有带 @Bean 注解的方法都会被动态代理,因此调用该方法返回的都是同一个实例
@Component:返回的不是一个实例