spring boot 常用注解

项目配置注解

1. @SpringBootApplication
是复合注解,包括如下注解:
@Target:
1. @Target(ElementType.TYPE)——接口、类、枚举、注解
2. @Target(ElementType.FIELD)——字段、枚举的常量
3. @Target(ElementType.METHOD)——方法
4. @Target(ElementType.PARAMETER)——方法参数
5. @Target(ElementType.CONSTRUCTOR) ——构造函数
6. @Target(ElementType.LOCAL_VARIABLE)——局部变量
7. @Target(ElementType.ANNOTATION_TYPE)——注解
8. @Target(ElementType.PACKAGE)——包

	@Retention:注解的保留策略
		 	1. RetentionPolicy.SOURCE:这种类型的Annotations只在源代码级别保留,编译时就会被	忽略,在class字节码文件中不包含;
			 2. RetentionPolicy.CLASS:	这种类型的Annotations编译时被保留,默认的保留策略,在class文件中存在,但JVM将会忽略,运行时无法获得;
			 3. RetentionPolicy.RUNTIME:这种类型的Annotations将被JVM保留,所以他们能在运行时被JVM或其他使用反射机制的代码所读取和使用。
			 
	@Documented:说明该注解将被包含在javadoc中;
	@Inherited:说明子类可以继承父类中的该注解;
	@SpringBootConfiguration:标记当前类是配置类,继承自@Configuration。并将当前类中声明的以@Bean注解标记的方法的实例纳入容器管理,实例名就是方法名;
	@EnableAutoConfiguration:自动配置注解,根据我们添加的组件来完成默认配置;
	@ComponentScan:扫描当前包及其子包中被@Component,@Controller,@Service,@Repository注解标记的类并纳入spring容器管理。
	![在这里插入图片描述](https://img-blog.csdnimg.cn/20201030101153315.png#pic_center)
  1. @MapperScan:spring-boot支持mybatis组件的一个注解,通过此注解指定mybatis接口类的路径,即可完成对mybatis接口的扫描。它和@mapper注解是一样的作用,不同的地方是扫描入口不一样。@mapper需要加在每一个mapper接口类上面。所以大多数情况下,都是在规划好工程目录之后,通过@MapperScan注解配置路径完成mapper接口的注入。
  2. @ImportResource:用来导入自定义的一些配置文件,@ImportResource(locations={“”}) 导入其他xml配置文件,需要标准在主配置类上。
  3. @PropertySource:导入property的配置文件 @PropertySource指定文件路径,这个相当于使用spring的标签来完成配置项的引入。
  4. @import注解是一个可以将普通类导入到spring容器中做管理。
  5. @responseBody注解的作用是将controller的方法返回的对象通过HttpMessageConverter转换为指定的格式之后,写入到response对象的body区,通常用来返回JSON数据或者是XML数据,需要注意的呢,在使用此注解之后不会再走试图处理器,而是直接将数据写入到输入流中,他的效果等同于通过response对象输出指定格式的数据。
    使用时机:
    返回的数据不是html标签的页面,而是其他某种格式的数据时(如json、xml等)使用;
  6. @requestBody:用于读取Request请求的body部分数据,使用系统默认配置的HttpMessageConverter进行解析,然后把相应的数据绑定到要返回的对象上,再把HttpMessageConverter返回的对象数据绑定到 controller中方法的参数上。
    A) GET、POST方式提时, 根据request header Content-Type的值来判断:
    application/x-www-form-urlencoded, 可选(即非必须,因为这种情况的数据@RequestParam, @ModelAttribute也可以处理,当然@RequestBody也能处理);
    multipart/form-data, 不能处理(即使用@RequestBody不能处理这种格式的数据);
    其他格式, 必须(其他格式包括application/json, application/xml等。这些格式的数据,必须使用@RequestBody来处理);
    B) PUT方式提交时, 根据request header Content-Type的值来判断:
    application/x-www-form-urlencoded, 必须;
    multipart/form-data, 不能处理;
    其他格式, 必须;
    说明:request的body部分的数据编码格式由header部分的Content-Type指定
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值