springboot 注解

65 阅读2分钟

1. @SpringBootApplication

@SpringBootApplication包含 @Configuration、@EnableAutoConfiguration、@ComponentScan通常用在主类上;
在这里插入图片描述
在这里插入图片描述

2、@Component、@Service、@Controller、@Repository

这几个注解放在一起是因为功能基本一样的,都是将类注入到spring容器中,只不过它们使用的场景不同,被@Component,@Service,@Controller,@Repository注解标注的类,这些类会被纳入进spring容器中管理。
在这里插入图片描述

3. @AutoWired、@Qualifier、@Resource注解

这3个注解都是基于注解方式进行自动装配,在容器里面将查找到的bean返回,一般@AutoWired用得最多,@Qualifier则需要配合@AutoWired使用,@Resource则是可以通过名字进行自动装配
在这里插入图片描述
@AutoWired
在这里插入图片描述
@Qualifier
当有一个接口的多个实现类时,只用@AutoWired会报错,因为它有多个接口的实现类,不知道你要找哪一个,这个时候就需要在注入bean的时候起个名字,然后用@Qualifier注解指定哪一个bean(按照名字注入与装配),比如

@Autowired
@Qualifier("sayHello")

12

在这里插入图片描述

在这里插入图片描述
@Resource
该注解的使用相当于@AutoWired和@Qualifier配合使用的效果
在这里插入图片描述

4. @Value、@ConfigurationProperties、@PropertySource

在这里插入图片描述
@Value
这里用yml配置文件进行演示,propres配置文件也是同样的效果,在application.yml配置文件里设置开发环境的的配置文件(dev),这样用@Value获取到的就是开发环境的配置文件的数据,切换成生产环境(pro)则获取到的是生产环境的数据
在这里插入图片描述
在这里插入图片描述
@ConfigurationProperties
该注解可以直接注入整个类的数据,作用于类
配置文件如下,这里使用pro环境
在这里插入图片描述
测试
在这里插入图片描述
@PropertySource
注意:@PropertySource不支持yml文件读取。
配置文件如下:people.properties
在这里插入图片描述
测试
在这里插入图片描述
当然@PropertySource还可以和@Value配合使用,即一个一个注入值。

5. @Value、@ConfigurationProperties、@PropertySource

在这里插入图片描述
@Value
这里用yml配置文件进行演示,propres配置文件也是同样的效果,在application.yml配置文件里设置开发环境的的配置文件(dev),这样用@Value获取到的就是开发环境的配置文件的数据,切换成生产环境(pro)则获取到的是生产环境的数据
在这里插入图片描述
在这里插入图片描述
@ConfigurationProperties
该注解可以直接注入整个类的数据,作用于类
配置文件如下,这里使用pro环境
在这里插入图片描述
测试
在这里插入图片描述
@PropertySource
注意:@PropertySource不支持yml文件读取。
配置文件如下:people.properties
在这里插入图片描述
测试
在这里插入图片描述
当然@PropertySource还可以和@Value配合使用,即一个一个注入值。

原文链接: blog.csdn.net/jike11231/a…