1,@SpringBootApplication
是 @SpringBootConfiguration,@EnableAutoConfiguration,@ComponentScan三个注解的组合。由于这些注解一般一起使用,所以干脆整合成了一个统一的注解@SpringBootApplication。
@SpringBootConfiguration继承@Configuration注解,主要用于加载配置文件,将当前类中声明的一个或多个以@Bean注解的方法纳入到spring容器中
@EnableAutoConfiguration,开启自动配置功能,帮助springboot应用将所有符合条件的@Configuration配置都加载到当前创建的IOC容器中。
@ComponentScan 主要用于组件扫描和自动装配,自动扫描并加载符合条件的组件或bean定义,最后将这些组件加入到容器中,可指定basepackage来指定扫描范围,如不指定则会在声明@ComponentScan类的包下进行扫描
2,@Configuration
用于定义配置类,指出该类是bean配置的信息源,相当于传统的xml配置文件
3,@ComponentScan
组件扫描,让springboot扫描到configuration类并添加到程序上下文(默认装配标识@Controller,@Service,@Component,@Repository的注解的类到spring容器中)
4,@Contoller
控制器,处理http请求
5,@RestController
复合注解,@ResponseBody+@Controller的组合,效果是将返回对象在浏览器上以json字符串进行展示。
6,@RequestBody
通过HttpMessageConverter读取Request Body并反序列化为Object(泛指)对象
7,@ResponseBody
将方法的返回值以特定的格式写进response的body区域,进而将数据返回到客户端,如无此注解,底层则会将方法返回值封装为ModelAndView对象
8,@RequestMapping
将HTTP请求映射到MVC和RestController处理方法上,提供路由信息,负责URL到Controller具体函数映射
9,@PathVariable、
获取URL中的数据
10,@Value
注入配置文件中配置的属性值
11,@RequestParam
获取请求参数的值
12,@RequestHeader
把请求头部分的值绑定到方法的参数上
13,@CookieValue
把请求头部分Cookie的值绑定到方法参数上
14,@Bean
产生一个bean,交给spring容器管理
15,@Component
把pojo(普通java对象)实例化到spring容器,避免写xml配置文件
16,@Service
注入dao,用于标注服务层,进行业务逻辑处理。默认单例模式,无传参,bean默认名称为当前类名,是@Component的一个特例,作用在类上
17,@Repository
实现Dao访问,用于标注数据访问组件
18,@Scope
@Scope在和@Component注解一起修饰在类上,作为类级别注解时,@Scope表示该类实例的范围,两个属性,value和proxyMode,value就是指明作用域范围,proxyMode指明哪种作用域代理。
19,@Entity
实体类注解,@Table(name="数据表名”),对应数据库相应的表,@Id,@Column注明实体类字段
20,@AutoWired自动注入
自动注入,可以实现bean的自动注入
21,@Qualifier
当有多个同一类型的bean的时候,可以用@Qualifier("name")来指定,与@AutoWired配合使用
22,@PropertyResource
导入properties文件,参数value(相对路径)
23,@Import
导入xml配置文件,参数value(相对路径),locations绝对路径
24,@Transactional
事务注解,分为编成式事务管理和声明式事务管理(AOP)两种方式
25,@ControllerAdvice
注解定义全局异常处理类,本质是一个component
26,@ExceptionHandler
声明@ControllerAdvice的异常处理方法
27,@ModelAttribute
预设@ControllerAdvice的全局数据
28,@InitBinder
实现@ControllerAdvice的请求参数预处理