Spring-jdbc-注解

来源:互联网 发布:荒蛮故事 知乎 编辑:程序博客网 时间:2024/06/15 03:01

applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context"xmlns:tx="http://www.springframework.org/schema/tx" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans           http://www.springframework.org/schema/beans/spring-beans-2.5.xsd           http://www.springframework.org/schema/aop            http://www.springframework.org/schema/aop/spring-aop-2.5.xsd           http://www.springframework.org/schema/context           http://www.springframework.org/schema/context/spring-context-2.5.xsd           http://www.springframework.org/schema/tx            http://www.springframework.org/schema/tx/spring-tx-2.5.xsd"><context:component-scan base-package="cn.itcast.spring0909.jdbc.transaction.annotation"></context:component-scan><!-- dataSource --> <beanclass="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"><property name="locations"><value>classpath:jdbc.properties</value></property></bean><bean id="dataSource" destroy-method="close"class="org.apache.commons.dbcp.BasicDataSource"><property name="driverClassName" value="${jdbc.driverClassName}" /><property name="url" value="${jdbc.url}" /><property name="username" value="${jdbc.username}" /><!-- <property name="password" value="${jdbc.password}" /> --></bean><!-- jdbcTemplate --><bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"><property name="dataSource"><ref bean="dataSource"/></property></bean><!-- 事务管理器 --> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource"> <ref bean="dataSource"/> </property> </bean><!-- 启动事务的注解解析器 --><tx:annotation-driven transaction-manager="transactionManager"/></beans>

public interface PersonDao {public void savePerson();}

@Repository("personDao")public class PersonDaoImpl implements PersonDao{@Resource(name="jdbcTemplate")//这里这能保存jdbcTemplate变量的方式不能继承jdbcSupportprivate JdbcTemplate jdbcTemplate;@Overridepublic void savePerson() {// TODO Auto-generated method stubthis.jdbcTemplate.execute("insert into person(pname) values('aa')");int a = 1/0;this.jdbcTemplate.execute("insert into person(pname) values('aa')");}}

public interface PersonService {public void savePerson();}

@Service("personService")public class PersonServiceImpl implements PersonService{@Resource(name="personDao")private PersonDao personDao;/** * 注解的粒度比xml要细 */@Transactional(readOnly=false)//这才是重点public void savePerson() {// TODO Auto-generated method stubthis.personDao.savePerson();}}

////上面的代码才是重点

public class PersonTest extends SpringHelper{static{path = "cn/itcast/spring0909/jdbc/transaction/annotation/applicationContext.xml";}@Testpublic void test(){PersonService personService = (PersonService)context.getBean("personService");personService.savePerson();}}


0 0
原创粉丝点击