Spring的使用有2种方式,一种是xml配置实现,另一种就是注解式使用。那么我们来看看Spring常用的注解。
@ContextConfiguration:加载配置文件
1、实现IOC
@Component:javaBean对象标记
属性:value:就是该bean对象的id名称
@Repository:一般用在dao层
@Service:一般用在service层
@Controller:一般用在web层
@Scope:标记对象生成方式
常用属性:
1、proxyMode:代理方式
取值说明:
ScopedProxyMode.DEFAULT:默认
ScopedProxyMode.NO:不使用代理
ScopedProxyMode.INTERFACES:接口---jdk动态代理
ScopedProxyMode.TARGET_CLASS:类---cglib
2、scopeName:生成实例的方式
取值说明:
singleton
prototype
request
session
globeSession
@Resource:对象注入,当前属性可以没有get和set方法
常用属性:
name:就是需要注入的bean的id或name
@Autowired:对象注入,自动注入
@PostConstruct:初始化方法,只使用在方法上
@PreDestroy:销毁方法
2、实现SpEL
@Value("#{title}")
IOC和SpEL的时候需要在配置中
<context:component-scan base-package="注解类所在的包"></context:component-scan>
3、实现AOP
@Aspect:标记这是一个切面类,该类必须交由IOC控制
@Pointcut:定义切入点,定义匹配表达式
@Before:前通知
@After:后通知
@Around:包围
@AfterThrowing:异常
@AfterReturning:返回
需要在配置中开启自动生成代理类
<aop:aspectj-autoproxy />
而且使用@Aspect的类也需要通过IOC控制
4、实现事物
@Transactional:在需要开启事物的方法上使用
在配置中需要启动事物的注解解析器
<tx:annotation-driven transaction-manager="事物管理器"/>