<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
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.xsd"
>
<bean id="dateSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
<property name="url" value="jdbc:mysql://localhost:3306/kaoqin"></property>
<property name="username" value="root"></property>
<property name="password" value="1234"></property>
</bean>
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dateSource"></property>
</bean>
<bean id="userDao1" class="com.sanmao.dao.UserDao1">
<property name="jdbcTemplate" ref="jdbcTemplate"></property>
</bean>
<bean id="userDao2" class="com.sanmao.dao.UserDao2">
<property name="jdbcTemplate" ref="jdbcTemplate"></property>
</bean>
<bean id="user1" parent="transactionProxy">
<property name="target" ref="userDao1"></property>
</bean>
<bean id="user2" parent="transactionProxy">
<property name="target" ref="userDao2"></property>
</bean>
<bean id="transactionProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean" abstract="true">
<property name="transactionManager" ref="transactionManager"></property>
<property name="transactionAttributes">
<props>
<prop key="add">PROPAGATION_REQUIRED</prop>
<prop key="update">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean>
</beans>
public class UserDao1 {
JdbcTemplate jdbcTemplate;
public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}
public void add(){
jdbcTemplate.update("insert into sanmao (name,pass) VALUES ('u1','u1')");
}
public void update(){
jdbcTemplate.update("insert into sanmao (name,pass) VALUES ('2','2')");
}
}
public class UserDao2 {
JdbcTemplate jdbcTemplate;
public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}
public void add(){
jdbcTemplate.update("insert into sanmao (name,pass) VALUES ('u2','u2')");
}
}
public class test {
public static void main(String[] args) {
ApplicationContext applicationContext=new ClassPathXmlApplicationContext("spring-config.xml");
UserDao1 userDao=(UserDao1)applicationContext.getBean("userDao1");
userDao.add();
UserDao2 userDao2=(UserDao2)applicationContext.getBean("userDao2");
userDao2.add();
}
}