Sping注解(annotation)

版权声明:本文为博主原创文章,未经博主允许不得转载。 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"/>

猜你喜欢

转载自blog.csdn.net/wangyang668/article/details/82807689