@SpringBootApplication:
是Spring Boot最核心、最基础的注解,以下是官方给出的描述:
Indicates a configuration class that declares one or more @Bean methods and also triggers auto-configuration and component scanning. This is a convenience annotation that is equivalent to declaring @Configuration, @EnableAutoConfiguration and @ComponentScan.
表示一个配置类,而该类又等价于
@Configuration(该注解表示一个类声明了一个或多个 @Bean 方法(批量创建多个对象,用在类上),并且可以由 Spring 容器进行处理,以在运行时为这些 bean 生成 bean 定义和服务请求。可被
@SpringBootConfiguration替代
(@SpringBootConfiguration注解可以用 java 代码的形式实现 Spring 中 xml 配置文件配置的效果,并会将当前类内声明的一个或多个以 @Bean 注解标记的方法的实例纳入到 spring 容器中)、@EnableAutorConfiguration(核心注解,可以自动配置Spring,以及向项目中引入第三方技术的自动配置)、
@ConponentScan(定义扫描的路径从中找出标识了需要装配的类自动装配到spring的bean容器中)。
@ResponseBody
表示该方法的返回结果直接写入HTTP response body中,一般在异步获取数据时使用,用于构建RESTful的api。
使用@RequestMapping后,返回值通常解析为跳转路径,而加上@esponsebody后返回结果不会被解析为跳转路径,而是直接写入HTTP response body中。
该注解一般会配合@RequestMapping一起使用。
@Controller
@Controller:用于定义控制器类,在spring项目中由控制器负责将用户发来的URL请求转发到对应的服务接口(service层)。
一般在类中使用,通常配合注解@RequestMapping。
@RestController
修饰范围:用在类上,用在所有控制器上
作用:将控制中所有方法的返回值转换为JSON反馈到前端
是@Controller + @ResponseBody的效果。
@Component
通用组建对象的创建,用来创建单个对象(或者当组件不好归类时,用此注解)。
@Service
标识业务层组件创建(Service层)。
@Repository
创建DAO组件,确保DAO或者repositories提供异常转译,这个注解修饰的DAO或者repositories类会被@ComponetScan发现并配置,同时也不需要为它们提供XML配置项。
@Bean
用在方法上,等价于XML文件中中配置的bean标签的作用。
@Value
使用该注解进行属性注入(Spring boot application.properties配置的属性的值)。一般使用 @Value("${ }")
,示例如下:
/*** 注入数组(自动根据","分割) */
@Value("${tools}")
private String[] toolArray;
@ConfigurationProperties
使用该注解,直接注入对象中属性(前缀注入方式)一般使用@ConfigurationProperties( prefix = "此处是对应前缀" )
。
@Import
用来导入其他配置类。
参考博客,同时参考B站 编程不良人。