Springboot的一些常用注解的作用
1.@SpringBootApplication:
主要功能是在Springboot项目中,让Springboot自动为项目进行一些必要的配置等同于@Configuration@EnableAutoConfiguration@ComponentScan三个注解共同的作用
2.@Configuration:
在功能上相当于传统的xml配置文件,取代了spring中繁琐的xml配置文件.默认是单例模式.
它能告诉springboot这是要个配置类,并且在这里面可以对方法使用@bean注解来给容器中添加组件,@Configuration标注的类也是一个组件.
3.@Bean
作用是为容器中添加组件,默认是单例,以方法名作为组件id,返回值为组件在容器中的实例.
@Bean注解会告诉Spring这个方法将会返回一个对象,这个对象要注册为Spring应用上下文中的bean。
4.@EnableConfiguration
作用是使@ConfigurationProperties注解生效
5.@ConfigurationProperties
作用是将properties和yml配置文件属性转化为bean对象进行调用,将配置文件属性注入到ioc中 需要4@EnableConfiguration才能生效
除了4@enableConfiguration注解外,也可以使用@Component注解也可以将@ConfigurationProperties注解的类添加到spring容器中
6.@Component
作用是实现bean的注入,泛指各种组件,在web开发中,提供了3个@Component的衍生注解(功能一致),分别为
@Controller(注入服务)用于标注控制层
@Service(注入dao)用于标注服务层,业务的逻辑处理@Repository(实现dao访问)用于标注数据访问层即dao组件
当类不属于这三个归类中时,可以采用@Component来标注这个类.
7.@ComponentScan
作用是扫描被@Controller、@Service、@Repository、@Component等注解标注的类并将这些组件都加载进入ioc容器中.
启动类中的@SpringBootApplication会自动扫描主启动类所在的包,因此以下所有测试都是与主启动所在的包平级。
8.@Autowired
作用是表示一个属性是否需要进行依赖注入,加在某个属性上时,spring会在ioc容器中找到bean对象注入到属性上.
9.@RestController
作用相当于@Controller和@ResponseBody一起的作用
10.@ResponseBody
作用是将方法的返回结果写入响应体中