最近在做技术准备工作,项目需要用到spring,于是整理了一下spring的准备工作。

1.spring3.0

spring源码包里面的文件,在spring-framework-3.0.6.RELEASE下有四个文件夹:

dist          ——   spring的jar包,spring 3.0 的jar按照功能分成多个,我们只需将我们需要的jar拷入到工程即可

docs         ——   spring的api以及使用指南,我们在使用中有不懂的地方可以查看相应的文档

projects   ——   spring的源码,我们在需要的时候可以查看相应的源码

src           ——   针对于每一个jar文件的源码包,我们可以在myeclipse导入查看jar中的源码

2.简单的spring环境搭建

   -新建web项目

   -导入dist目录下的所有包(如果你足够熟悉 可以根据需求导入),以及commons-logging包、mysql-connector-java-5.1.25.jar

         

   -在web.xml中配置spring监听     

    
contextConfigLocation
    
WEB-INF/spring*.xml
    
        org.springframework.web.context.ContextLoaderListener    

    

    -新建sprng-config.xml(spring的配置文件)

    

    -配置连接池(在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)

   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   

    以上基本的spring环境就搭建完毕。

3.简单的测试

    -新建com.UserDao  

public interface UserDao{    public List 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

   

    -编写测试类(数据库中任意选一张表即可)

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)