spring3.0学习之环境搭建
<context-param><param-name>contextConfigLocation</param-name><param-value>/WEB-INF/spring*.xml</param-value></context-param><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener>?
接下来我们来分析一下spring源码包里面的文件,在spring-framework-3.0.6.RELEASE下有四个文件夹:
dist ? ? ? ? ?—— ? spring的jar包,spring 3.0 的jar按照功能分成多个,我们只需将我们需要的jar拷入到工程即可
docs ? ? ? ? —— ? spring的api以及使用指南,我们在使用中有不懂的地方可以查看相应的文档
projects ? —— ? spring的源码,我们在需要的时候可以查看相应的源码
src ? ? ? ? ? —— ? 针对于每一个jar文件的源码包,我们可以在myeclipse导入查看jar中的源码
简单起见,大家将dist下的jar全部拷入工程WEB-INF下的lib下(将来大家熟悉了,再根据相应的功能导入相应的jar即可),下面我们来配置spring的配置文件,在WEB-INF下新建一个名字为spring-config.xml的XML文件,内容如下:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:security="http://www.springframework.org/schema/security" 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-3.0.xsd http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.0.3.xsd"></beans>?
接下来我们加入数据库连接池,目前常用的连接池有DBCP和Proxool,这里就简单介绍一下Proxool连接池的配置,首先下载jar包,这里给出下载地址(http://sourceforge.net/settings/mirror_choices?projectname=proxool&filename=proxool/0.9.1/proxool-0.9.1.zip),下载之后解压,将lib下的两个jar拷入工程的lib文件夹下。接下来我们在Web-INF下新建一个jdbc.properties文件
jdbc.driverClassName=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://127.0.0.1:3306/demojdbc.username=rootjdbc.password=root?
然后我们配置一下spring-config.xml,加入关于连接池的配置
<bean value="/WEB-INF/jdbc.properties"/> </bean> <bean id="dataSource" value="demo"/> <!--驱动类--> <property name="driver" value="${jdbc.driverClassName}"/> <!--url连接串--> <property name="driverUrl" value="${jdbc.url}"/> <!--用户名--> <property name="user" value="${jdbc.username}"/> <!--密码--> <property name="password" value="${jdbc.password}"/> <!--proxool自动侦察各个连接状态的时间间隔(毫秒),侦察到空闲的连接就马上回收,超时的销毁 默认30秒--> <!-- <property name="houseKeepingSleepTime" value="9000"/>--> <property name="prototypeCount" value="10"/> <!--最大连接数(默认5个),超过了这个连接数,再有请求时,就排在队列中等候,最大的等待请求数由maximum-new-connections决定--> <property name="maximumConnectionCount" value="100"/> <!--最小连接数(默认2个)--> <property name="minimumConnectionCount" value="10"/> <!-- 在Consonl中显示sql --> <property name="trace" value="true"/> <property name="verbose" value="true"/> </bean>?
这些配置好了,现在我们是如何调用呢,我们写个简单的例子,首先新建一个接口
public interface GenericDAO {/** * 查找指定sql对应的结果集,如果为空,则返回长度为0的List * * @param sql * @return */public List<Map> qureyForList(String sql);}?
?然后写一个实现类
public class GenericSpringDAO extends JdbcDaoSupport implements GenericDAO {@Overridepublic List qureyForList(String sql) {// TODO Auto-generated method stub//log.debug("选择使用SQL(不带参数):" + sql);return getJdbcTemplate().queryForList(sql);}}?
接着我们在spring-config.xml加入bean的配置:
<bean id="genericDAO" ref="dataSource" /> </bean>?
我们写个测试类:
public class Test { public static void main(String[] args) {ApplicationContext ctx = new ClassPathXmlApplicationContext("spring-config.xml");GenericDAO genericDAO = (GenericDAO) ctx.getBean("genericDAO");List list = genericDAO.qureyForList("select * from demo");System.out.println(list==null);}}?
这样spring jdbc就已经集成进来了,下一次我们在这个基础上加入sturts框架,十分感谢之前大家对我的支持!
?