参考:
https://baijiahao.baidu.com/s?id=1623648034778672046&wfr=spider&for=pc
1、@SpringBootApplication(主程序类的注解)
@SpringBootApplication是一个复合注解,包括@ComponentScan,@SpringBootConfiguration,@EnableAutoConfiguration。
-
1.@SpringBootConfiguration:继承自@Configuration,二者功能也一致,标注当前类是配置类,并会将当前类内声明的一个或多个以@Bean注解标记的方法的实例纳入到srping容器中,并且实例名就是方法名。
-
2.@EnableAutoConfiguration:启动自动的配置。Springboot根据你添加的jar包来配置你项目的默认配置,比如根据spring-boot-starter-web,来判断你的项目是否需要添加了webmvc和tomcat,就会自动的帮你配置web项目中所需要的默认配置。
-
3.@ComponentScan,扫描当前包及其子包下被@Component,@Controller,@Service,@Repository注解标记的类并纳入到spring容器中进行管理。
2、@ResponseBody
表示该方法的返回结果直接写入HTTP response body中,一般在异步获取数据时使用,用于构建RESTful的api。在使用@RequestMapping后,返回值通常解析为跳转路径,加上@Responsebody后返回结果不会被解析为跳转路径,而是直接写入HTTP response body中。比如异步获取json数据,加上@Responsebody后,会直接返回json数据。该注解一般会配合@RequestMapping一起使用
3、@Controller
用于定义控制器类,在spring项目中由控制器负责将用户发来的URL请求转发到对应的服务接口(service层),一般这个注解在类中,通常方法需要配合注解@RequestMapping
4、@RestController
用于标注控制层组件,@ResponseBody和@Controller的合集。
5、@RequestMapping
@RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径,用于方法上,则需要在父路径下继续添加子路径
例如@RequestMapping("/hello"),表示向浏览器中的地址添加路径为/hello,即可执行被此注解所标注的方法作为请求。
- @GetMapping:@RequestMapping(method={GET})
- @PostMapping:@RequestMapping(method={POST})
请求的方法不同,为GET请求和POST请求
6、@Service
一般用于修饰service层的组件
7、@Repository
使用@Repository注解可以确保DAO或者repositories提供异常转译,这个注解修饰的DAO或者repositories类会被ComponetScan发现并配置,同时也不需要为它们提供XML配置项。
8、@Bean
@Bean是一个方法级别上的注解,主要用在@Configuration注解的类里,也可以用在@Component注解的类里。添加的bean的id为方法名。用@Bean标注方法等价于XML中配置的bean。
9、@Value
注入Spring boot application.properties配置的属性的值。
10、@Component和@ConfigurationProperties(prefix = “person”)
- @Component将类添加进容器
- @ConfigurationProperties:告诉SpringBoot将本类中的所有属性和配置文件(application.properties 或application.yml)中相关的配置进行绑定;prefix为前缀,表示从“person”开始的属性进行配置。