Spring全部注解
Spring中的注解主要分为两类:
类级别的注解: 如@Component、@Repository、@Controller、@Service以及JavaEE6的@ManagedBean和@Named注解,都是添加在类上面的类级别注解。
类内部的注解: 如@Bean、@Autowire、@Value、@Resource以及EJB和WebService相关的注解等,都是添加在类内部的字段或者方法上的类内部注解。
具体的来说又有以下几种类型的注解方式:
1.声明bean的注解
@Component 组件,通用的注解方式
@Service 在业务逻辑层使用(service层)
@Repository 在数据访问层使用(dao层)
@Controller 在表现层使用,控制器的声明(C)
2.注入bean的注解
@Autowired:由Spring提供
@Inject:由JSR-330提供
@Resource:由JSR-250提供
都可以注解在set方法和属性上,推荐注解在属性上(一目了然,少写代码)。
3.java配置类相关注解
@Configuration 声明当前类为配置类,相当于xml形式的Spring配置(类上)
@Bean 注解在方法上,声明当前方法的返回值为一个bean,替代xml中的方式(方法上)
@Configuration 声明当前类为配置类,其中内部组合了@Component注解,表明这个类是一个bean(类上)
@ComponentScan 用于对Component进行扫描,相当于xml中的(类上)
@WishlyConfiguration 为@Configuration与@ComponentScan的组合注解,可以替代这两个注解
4.切面(AOP)相关注解
Spring支持AspectJ的注解式切面编程。
@Aspect 声明一个切面(类上)
使用@After、@Before、@Around定义建言(advice),可直接将拦截规则(切点)作为参数。
@After 在方法执行之后执行(方法上) @Before 在方法执行之前执行(方法上) @Around 在方法执行之前与之后执行(方法上)
@PointCut 声明切点
在java配置类中使用@EnableAspectJAutoProxy注解开启Spring对AspectJ代理的支持(类上)
5.@Bean的属性支持
@Scope 设置Spring容器如何新建Bean实例(方法上,得有@Bean)
其设置类型包括:
· Singleton (单例,一个Spring容器中只有一个bean实例,默认模式),
· Protetype (每次调用新建一个bean),
· Request (web项目中,给每个http request新建一个bean),
· Session (web项目中,给每个http session新建一个bean),
· GlobalSession(给每一个 global http session新建一个Bean实例)
@StepScope 在Spring Batch中还有涉及
@PostConstruct 由JSR-250提供,在构造函数执行完之后执行,等价于xml配置文件中bean的initMethod
@PreDestory 由JSR-250提供,在Bean销毁之前执行,等价于xml配置文件中bean的destroyMethod
@Conditional是Spring4新提供的注解,它的作用是按照一定的条件进行判断,满足条件给容器注册bean。
Spring全部注解相关推荐
- 【Spring】spring基于注解的声明式事务控制
结构 domin package com.itheima.domain;import java.io.Serializable;public class Account implements Seri ...
- Spring系列之Spring常用注解总结
参看博客:https://www.cnblogs.com/xiaoxi/p/5935009.html 传统的Spring做法是使用.xml文件来对bean进行注入或者是配置aop.事物,这么做有两个缺 ...
- 实践:使用Spring 原生注解来快速实现 策略模式 + 工厂模式
作者:Richard_Yi juejin.im/post/5db0e910518825648f2ef355 前言 这阵子在做项目组重构的工作,工作中的一部分就是就目前代码库中与企业交互的逻辑抽离出来, ...
- Spring使用注解配置依赖注入
大部分情况下,使用Spring配置依赖注入时,都是使用注解来进行配置,因为注解比xml要方便和简单.不过类似于数据源对象这种配置信息容易变更的对象除外,这种对象使用xml文件来进行配置会更适合,方便于 ...
- Spring 使用注解方式进行事务管理
2019独角兽企业重金招聘Python工程师标准>>> 大家在使用spring的注解式事务管理时,对事务的传播行为和隔离级别可能有点不知所措,下边就详细的介绍下以备方便查阅. 事物注 ...
- 第五章 Spring进阶-注解方式实现AOP(1)
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> 徒弟:师傅,我 ...
- Spring 缓存注解@Cacheable 在缓存时候 ,出现了第一次进入调用 方法 ,第二次不调用的异常
Spring 缓存注解@Cacheable 在缓存时候 ,出现了第一次进入调用 方法 ,第二次不调用的异常 参考文章: (1)Spring 缓存注解@Cacheable 在缓存时候 ,出现了第一次进入 ...
- Spring 使用注解方式进行事物管理
Spring 使用注解方式进行事物管理 大家在使用spring的注解式事务管理时,对事务的传播行为和隔离级别可能有点不知所措,下边就详细的介绍下以备方便查阅. 事物注解方式: @Transaction ...
- Spring Ioc注解式开发中注解的作用
Spring Ioc注解式开发中注解的作用 目标:本章节注重于Spring Ioc的注解式开发之中注解的作用. 基于注解的DI实现IOC 1.定义bean而注解 a.@Component @Repos ...
- Spring基于注解的AOP配置
pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="htt ...
最新文章
- 如何将低版本的myeclipse改造成可以使用servlet3.0的神器
- [JS] - onmusewheel事件(兼容IE,FF,opera,safari,chrome)
- 产品经理必须要知道的25个简约设计理念
- 专家的修炼之路 —— 德雷福斯模型 Dreyfus
- ASP.NET 使用Ajax(转)
- [转]JavaScript事件(Event)
- countdownlatch的使用详解(好懂!!)
- 第五章:1.数组和广义表 -- 数组
- TPYBoard开发板带你轻松玩转MicroPython
- matlab 集合操作
- 离线在远程linux服务器配置vscode-python环境以及在容器中配置
- springboot实现权限列表_SpringBoot+shiro+mybatis+Thymeleaf实现权限登录
- CIF、DCIF、D1分辨率是多少?
- 【Java】ResourceBundle 使用
- 解决高德地图闪屏黑屏
- CTF-misc练习(https://buuoj.cn)之第二页
- 线上实习 牛刀小试——增删改查
- Linux端口被占用怎么解决
- 彼时我们都各自窝在书馆里最阴暗的角落
- Python Flask框架
热门文章
- COMSOL软件的函数手册、函数解释手册等资料
- 【转】保护眼睛——设置WIN7和XP 窗体、Chrome、IE网页背景颜色
- linux系统重启几种方式,强制重启Linux系统的几种方法
- c语言卷积编程,卷积C语言实现
- Verilog移位运算符
- mac Python 拍照录视屏
- 和女儿的第一个五年之约:愿你快乐的成长
- 独家专访丨《魔法俪人帮》节目组接受媒体记者访谈 专访魔法俪人帮:女为悦己者容!
- 从软件的角度漫谈 太原公共自行车刷卡原理
- 打印机可以打印不能扫描怎么弄_多功能打印机只能打印,不能扫描,怎么回事? – 手机爱问...