Sping注解(annotation)

本文深入探讨了Spring框架中的依赖注入(DI)和事务管理(Tx)注解的使用方法。详细介绍了@Component、@Repository、@Service、@Controller等注解的功能及区别,以及@Autowired与@Qualifier的用法。同时,解析了@Transactional注解的属性及其在事务管理中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.依赖注入的注解(DI-annotation)

@Component注解组件:注册组件到spring容器中,相当于配置文件中的bean.
        与@Component具有相同功能,不同意义的注解还有三个:
         @Repository :注解在Dao实现类上
         @Service : 注解在service实现类上
         @Controller :注解在处理器上(SpringMVC)

@Scope("prototype")  范围:默认是singleton(单例)      prototype:原型

@Autowired :默认byType自动注入(把bean里面引用的对象的setter/getter方法省略,它会自动帮你set/get)

@Autowired  与 @Qualifier("studentService") 一起使用 : byName方式自动注入

//byType自动注入
@Autowired  
private SessionFactory sessionFactory;

//byName方式自动注入
@Autowired
@Qualifier("studentService") 
private IStudentService service;

applicationContext.xml文件中配置:

<!-- 会扫描com所有子包 --> 
<context:component-scan base-package="com.*"/>

2.事务的注解(Tx-annotation)

这里事务发生在service中,BuyStockServiceImpl实现IBuyStockService接口,例:

  @Transactional     事务注解(一般默认)

   属性有:isolation:事务传播属性(默认:REQUIRED)

                  propagation:事务隔离级别(默认:DEFAULT)

                 readOnly:是否只读 (默认:false)

                 rollbackFor : 需要回滚的异常类

@Transactional(isolation=Isolation.DEFAULT,propagation=Propagation.REQUIRED)
@Override
public void openAccount(String aname, double money) {
	adao.insertAccount(aname,money);
}

applicationContext.xml文件中配置:

<!-- 注册事务管理器 -->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
	<property name="dataSource" ref="dataSource"/> 
</bean>
<!--加载事务注解驱动-->
<tx:annotation-driven transaction-manager="transactionManager"/>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

RWTHeart

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值