SpringBoot常用注解
1、SpringBoot 常用注解
@SpringBootApplication |
标注一个主程序类,说明这是一个Spring Boot应用 |
@RequestMapping("/hello") |
标注请求的Url,写在controller里面 |
@ResponseBody |
把请求写给浏览器 |
@RestController |
@ResponseBody+ @Controller, 这个类的所有方法返回的数据直接写给浏览器,(如果是对象转为json数据) |
@ConfigurationProperties(prefix = "person") |
将配置文件中配置的每一个属性的值,映射到这个组件中;
告诉SpringBoot将本类中的所有属性和配置文件中相关的配置进行绑定;
prefix = "person":配置文件中哪个下面的所有属性进行一一映射
默认从全局配置文件中获取值
|
@Component |
把类加入容器中 |
@SpringBootTest |
SpringBoot单元测试
|
@RunWith(SpringRunner.class) |
单元测试用Spring驱动器来跑,而不是junit |
@Value("${person.last-name}") |
赋值,从配置文件中取值 |
@Value("#{11*2}") |
赋值,spring表达式计算出22 |
@Value("true") |
赋值,直接为true |
@Email |
值必须是邮箱格式 |
@PropertySource(value = {"classpath:person.properties"}) |
加载指定的配置文件 |
@ImportResource(locations = {"classpath:beans.xml"}) |
导入Spring的配置文件,让配置文件里面的内容生效;
Spring Boot里面没有Spring的配置文件,我们自己编写的配置文件,也不能自动识别; 想让Spring的配置文件生效,加载进来;@ImportResource标注在一个配置类上 |
@Configuration
@Bean
|
SpringBoot推荐给容器中添加组件的方式;推荐使用全注解的方式 1、配置类@Configuration------>Spring配置文件;指明当前类是一个配置类;就是来替代之前的Spring配置文件 2、使用@Bean给容器中添加组件;将方法的返回值添加到容器中;容器中这个组件默认的id就是方法名 |
@EnableAutoConfiguration |
利用EnableAutoConfigurationImportSelector给容器中导入一些组件 |
|
|
|
|
2、@Value获取值和@ConfigurationProperties获取值比较
@ConfigurationProperties | @Value | |
---|---|---|
功能 | 批量注入配置文件中的属性 | 一个个指定 |
松散绑定(松散语法) | 支持 | 不支持 |
SpEL | 不支持 | 支持 |
JSR303数据校验(@Email注解...) | 支持 | 不支持 |
复杂类型封装 | 支持 | 不支持 |
配置文件yml还是properties他们都能获取到值;
如果说,我们只是在某个业务逻辑中需要获取一下配置文件中的某项值,使用@Value;
如果说,我们专门编写了一个javaBean来和配置文件进行映射,我们就直接使用@ConfigurationProperties;
如果说,我们只是在某个业务逻辑中需要获取一下配置文件中的某项值,使用@Value;
如果说,我们专门编写了一个javaBean来和配置文件进行映射,我们就直接使用@ConfigurationProperties;