您的位置: 首页> 后端语言> java spring总结-常用注解

java spring总结-常用注解

时间:2025-08-28 17:48:02 来源:互联网

@Resource

不用写set和get方法

@Resource默认按名称装配,当找不到与名称匹配的bean才会按类型装配。

在spring的配置文件中

说明:

<context:annotation-config />

启动依赖注入的注解解析器:

@Autowired

按照类型匹配

在默认情况下使用 @Autowired

注释进行自动注入时,Spring 容器中匹配的候选 Bean 数目必须有且仅有一个

required 属性默认是true,表示注入的时候,该bean必须存在,否则就会报错(BeanCreationException 异常)。修改为ffalse后在找不到匹配 Bean 时也不报错。

@Qualifier

按照ID匹配,注解只能应用于引用类型

 

@Transactional 注解

说明

1、作用范围
1)方法:推荐将注解使用于方法上,不过需要注意的是:该注解只能应用到 public 方法上,否则不生效。
2)类:如果这个注解使用在类上的话,表明该注解对该类中所有的 public 方法都生效。
3)接口 :不推荐在接口上使用。

 

@Transactional 的常用配置参数:

 原理

@Transactional 的工作机制是基于 AOP 实现的,AOP 又是使用动态代理实现的。如果目标对象实现了接口,默认情况下会采用 JDK 的动态代理,如果目标对象没有实现了接口,会使用 CGLIB 动态代理。

如果一个类或者一个类中的 public 方法上被标注@Transactional 注解的话,Spring 容器就会在启动的时候为其创建一个代理类,在调用被@Transactional 注解的 public 方法的时候,实际调用的是,TransactionInterceptor 类中的 invoke()方法。这个方法的作用就是在目标方法之前开启事务,方法执行过程中如果遇到异常的时候回滚事务,方法调用完成之后提交事务。

事务失效情况

如果同一个类中的其他没有@Transactional注解的方法内部调用有@Transactional 注解的方法,有@Transactional 注解的方法的事务会失效。
上一篇:java spring总结--用到的设计模式 下一篇:java spring总结-springMVC

相关文章

相关应用

最近更新