spring中常用注解
附录:SpringBoot常用配置注解
https://www.cnblogs.com/damoblog/p/12737261.html
1. @ResponseBody注解的使用
(1) @responseBody注解的作用是将controller的方法返回的对象通过适当的转换器,转换为指定的格式之后, 写入到response
对象的body区,通常用来返回JSON数据或者是XML数据;需要注意的是,在使用此注解之后不会再走视图处理器,而是直
接将数据写入到输入流中,它的效果等同于通过response对象输出指定格式的数据。
(2) 例如:
@RequestMapping("/login") @ResponseBody public User login(User user){ return user; } //User字段:userName pwd //那么在前台接收到的数据为:'{"userName":"xxx","pwd":"xxx"}' //效果等同于如下代码: @RequestMapping("/login") public void login(User user, HttpServletResponse response){ response.getWriter.write(JSONObject.fromObject(user).toString()); }
2. @Indexed注解
作用:在SpringFramework5.0引入了一个注解@Indexed ,它可以为Spring的模式注解1添加索引,以提升应用启动性能。
使用场景:在应用中有大量使用@ComponentScan扫描的package包含的类越多的时候,Spring模式注解解析耗时就越长。
详情:https://developer.aliyun.com/article/1010834
3. @Aspect AOP编程
详情:https://blog.csdn.net/weixin_44806772/article/details/120438164
4. @Target
@Target用来表示注解作用范围,超过这个作用范围,编译的时候就会报错。
@Target:注解的作用目标
@Target(ElementType.TYPE)——接口、类、枚举、注解
@Target(ElementType.FIELD)——字段、枚举的常量
@Target(ElementType.METHOD)——方法
@Target(ElementType.PARAMETER)——方法参数
@Target(ElementType.CONSTRUCTOR) ——构造函数
@Target(ElementType.LOCAL_VARIABLE)——局部变量
@Target(ElementType.ANNOTATION_TYPE)——注解
@Target(ElementType.PACKAGE)——包,用于记录java文件的package信息
5. @Order注解
注解@Order或者接口Ordered的作用是定义Spring IOC容器中Bean的执行顺序的优先级,而不是定义Bean的加载顺序,Bean的加载顺序不受@Order或Ordered接口的影响;
更多:https://blog.csdn.net/yaomingyang/article/details/86649072
6. @Autowired注解
默认按类型进行装配,如果有多个类型的bean时,则自动切换为按名称进行装配,如果找不到则跑出异常。需要注意的是,可以配合@Qualifier使用,则是直接按名称就行装配。更多见
https://blog.csdn.net/weixin_52754604/article/details/127498981
https://blog.csdn.net/qq_32224047/article/details/107082167
https://blog.csdn.net/qq_50915088/article/details/126925255
7. @Primary注解
通过@Autowired自动装配时,当出现多个Bean候选者时,被注解为@Primary的Bean将作为首选者,否则将抛出异常。
更多详情见:https://blog.csdn.net/qq_41990134/article/details/125345611