版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wangyang668/article/details/82807689
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"/>