SpringBoot学习(6)常见注解解析

一:@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()方法

 

posted @ 2022-04-05 18:16  筱筱创  阅读(102)  评论(0编辑  收藏  举报