1. 步骤一:创建WEB工程,引入需要的jar包 * IOC的6个包 * AOP的4个包 * C3P0的1个包 * MySQL的驱动包 * JDBC目标2个包 * 整合JUnit测试包 2.步骤二:创建数据库的表结构
create database spring_day03; use spring_day03; create table t_account( id int primary key auto_increment, name varchar(20), money double );
3.步骤三:引入配置文件
* 引入配置文件 * 引入log4j.properties
4. 步骤四:引入applicationContext.xml
* 基本配置为:
* 使用C3P0连接池
* 先引入C3P0的jar包 * com.springsource.com.mchange.v2.c3p0-0.9.1.2.jar * 编写配置文件
5.步骤五:创建对应的包结构和类
* com.huida.demo1 * AccountService
package com.huida.demo1;public interface AccountService { public void pay(String out,String in,double money);}
* AccountServlceImpl
package com.huida.demo1;import javax.annotation.Resource;import org.springframework.transaction.TransactionStatus;import org.springframework.transaction.annotation.Transactional;import org.springframework.transaction.support.TransactionCallbackWithoutResult;import org.springframework.transaction.support.TransactionTemplate;public class AccountServiceImpl implements AccountService{ @Resource(name="accountDao") private AccountDaoImpl accountDao; public void setAccountDao(AccountDaoImpl accountDao) { this.accountDao = accountDao; } @Override public void pay(String out,String in,double money) { //扣钱 accountDao.outMoney(out, money); //加钱 accountDao.inMoney(in, money); }}
* AccountDao
package com.huida.demo1;public interface AccountDao { public void outMoney(String out,double money); public void inMoney(String in,double money);}
* AccountDaoImpl
package com.huida.demo1;import org.springframework.jdbc.core.support.JdbcDaoSupport;public class AccountDaoImpl extends JdbcDaoSupport implements AccountDao{ @Override public void outMoney(String out, double money) { this.getJdbcTemplate().update("update user set money = money - ? where name = ?", money,out); } @Override public void inMoney(String in, double money) { this.getJdbcTemplate().update("update user set money = money + ? where name=?",money,in); }}
6.步骤六:引入Spring的配置文件,将类配置到Spring中
7.步骤七:在业务层注入DAO ,在DAO中注入JDBC模板(强调:简化开发,以后DAO可以继承JdbcDaoSupport类)
8.所以总的applicationContext2.xml中的配置信息为:
9.步骤八:编写测试程序.
package com.huida.demo1;import javax.annotation.Resource;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.test.context.ContextConfiguration;import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration("classpath:applicationContext2.xml")public class Demo1 { @Resource(name="accountService") private AccountService accountService; @Test public void run1(){ accountService.pay("小明","小红",1000); }}
10.单元测试run1方法,刷新spring-day03数据库中的user表,可以看到小明同学的钱减少了1000,小红同学的钱增加了1000。