一:@SpringBootApplication:声明当前类是Spring的主程序入口类,该注解包含3个主要注解:@ComponentScan、@SpringBootConfiguration、@EnableAutoConfiguration
@SpringBootConfiguration:声明当前类是SpingBoot的配置类
@EnableAutoConfiguration:是springboot实现自动化配置的核心注解,通过这个注解把spring应用所需的bean注入容器中
@ComponentScan:用来自动扫描被这些注解标识的类,最终生成ioc容器里的bean,默认扫描范围是@ComponentScan注解所在配置类包及子包的类
二:Spring容器管理对象创建注解:
@Service:一般修饰在sevice层类上,用于声明Spring容器管理对象创建
@Component:泛指组件,与@Service一样,是用来声明Spring容器管理对象创建,当类不好归类时,可以使用该注解
@Repository:一般用于修饰在dao层类上,与@Service一样,是用来声明Spring容器管理对象创建
@Controller:一般修饰在controller层,定义当前类是一个控制器类
三:请求相关注解
@ResponseBody:可以声明在方法上也可以声明在类上。声明在方法上,表示对应方法的返回值直接写入响应体中,生命在类上,表示当前类所有方法的返回值都直接写入响应体
@RequestMapping:可以声明在方法上也可以声明在类上。如果声明在方法上,表示映射具体的项目URL+此处配置的URL;如果声明在类上,则当前类下所有方法的映射地址都要加上类上定义的URL路径
@GetMapping:与RequestMapping类似,但是该注解限定只能接受get请求
@PostMapping:限定只能接收post请求
@RestController:如果一个类既有@Controller又有@ResponseBody,那么可以使用@RestController代替
@RequestBody:获取请求体数据,一般用于post获取参数
@RequestParm:主要获取url?后面的参数
@PathVariable:获取请求实际路径参数
@RequestHeader:获取请求头信息
@CookieValue:获取Cookie信息
三:属性注入相关
@Autowired:对属性根据类型依赖注入
@Qualifier:可以与@Autowired配合使用,如果根据类型找到多个Bean时,可以指定根据名称注入
@Resource(name="",type=""):默认按名称进行依赖注入,也可以按照类型依赖注入
@Value:注入配置文件中配置的属性值
四:配置相关
@PropertySource:声明使用指定配置文件
@ImportResource:加载指定XML配置文件
@Configuration:定义XML配置文件类
@Import:导入其他配置类
@Bean:等价于使用配置文件配置bean
五:Conditional相关
@ConditionalOnBean:声明容器必须存在指定Bean
@ConditionalOnMissingBean:如果容器不存在指定Bean就创建一个
@ConditionalOnClass:声明系统必须存在指定类
@ConditionalOnProperty:声明指定的属性是否有指定的值
@ConditionalOnResource:声明类路径下是否存在指定资源文件
六:lombok相关
@Data:提供getter()、setter()、toString()、equals()、hashCode()和无参构造方法
@Getter:提供getter()方法
@Setter:提供setter()方法
@AllArgsConstructor:提供全部参数构造方法
@NoArgsConstructor:提供无参构造方法
@ToString:提供toString()方法
@EqualsAndHashCode:提供equals()和hashCode()方法