最近在作技術準備工做,項目須要用到spring,因而整理了一下spring的準備工做。java
1.spring3.0mysql
spring源碼包裏面的文件,在spring-framework-3.0.6.RELEASE下有四個文件夾:web
dist —— spring的jar包,spring 3.0 的jar按照功能分紅多個,咱們只需將咱們須要的jar拷入到工程便可spring
docs —— spring的api以及使用指南,咱們在使用中有不懂的地方能夠查看相應的文檔sql
projects —— spring的源碼,咱們在須要的時候能夠查看相應的源碼數據庫
src —— 針對於每個jar文件的源碼包,咱們能夠在myeclipse導入查看jar中的源碼api
2.簡單的spring環境搭建eclipse
-新建web項目ide
-導入dist目錄下的全部包(若是你足夠熟悉 能夠根據需求導入),以及commons-logging包、mysql-connector-java-5.1.25.jar測試
-在web.xml中配置spring監聽
<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>
-新建sprng-config.xml(spring的配置文件)
<?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">
-配置鏈接池(在spring配置文件中配置)
1)WEB-INF下新建jdbc.properties
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1:3306/demo
jdbc.username=root
jdbc.password=123
2)配置數據源(以Proxool爲例)(記得導入Proxool相關jar包,附上下載地址http://download.csdn.net/download/autumnsmiles/630915)
<bean id="dataSource" class="org.logicalcobwebs.proxool.ProxoolDataSource">
<!--數據源的別名-->
<property name="alias" 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"/>
<!-- 在Console中顯示sql -->
<property name="trace" value="true"/>
<property name="verbose" value="true"/>
</bean>
以上基本的spring環境就搭建完畢。
3.簡單的測試
-新建com.UserDao
public interface UserDao{ public List<Map> qureyForList(String sql); }
-新建UserDaoImpl
public class UserDaoImpl extends JdbcDaoSupport implements UserDao{ @Override public List qureyForList(String sql) { return getJdbcTemplate().queryForList(sql); } }
-在spring-config.xml中注入userDao
<bean id="userDao" class="com.UserDaoImpl">
<property name="dataSource" ref="dataSource" />
</bean>
-編寫測試類(數據庫中任意選一張表便可)
public class Test { public static void main(String[] args) throws Exception{ ApplicationContext ctx = new ClassPathXmlApplicationContext("WEB-INF/spring-config.xml"); UserDao userDao= (UserDao) ctx.getBean("userDao"); List list = userDao.qureyForList("select * from user_"); System.out.println(list == null); }
注意:會出現的問題:classespath下資源找不到,這是由於調用的是ClassPathXmlApplicationContext,而/WEB-INF/spring-config.xml並不在classespath路徑中。
解決辦法:能夠將spring-config.xml、jdbc.properties移到src目錄下
(關於加載spring配置文件可參考http://blog.csdn.net/king50886/article/details/8173313)