IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    使用Maven实现Struts2+Hibernate4+Spring3整合SSH框架(二):导入Spring的jar包并添加测试实现

    summer发表于 2016-07-16 02:56:56
    love 0

    日期: 2016-7-16

    内容: 在完成了Maven开发环境的搭建之后,接着开始添加框架并实现测试。

    一、 在pom.xml中添加Spring开发需要的jar包并添加单体测试包:

    这里使用的版本是:

    Spring4.1.3;

    Juint4.10;

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.spring</groupId>
    <artifactId>Spring_Struts_HibernateWebProject</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>war</packaging>
    <description>使用Maven搭建SSH框架</description>
    <url>http://maven.apache.org</url>
    <dependencies>
    <!-- 添加Junit4为单元测试做准备 -->
    <dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.10</version>
    <scope>test</scope>
    </dependency>

    <!-- 添加Spring3的依赖jar包 -->
    <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>4.1.3.RELEASE</version>
    </dependency>
    <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>4.1.3.RELEASE</version>
    </dependency>
    <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>4.1.3.RELEASE</version>
    </dependency>
    <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-web</artifactId>
    <version>4.1.3.RELEASE</version>
    </dependency>
    <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-orm</artifactId>
    <version>3.2.4.RELEASE</version>
    </dependency>
    <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-beans</artifactId>
    <version>4.1.3.RELEASE</version>
    </dependency>
    <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-aop</artifactId>
    <version>4.1.3.RELEASE</version>
    </dependency>
    </dependencies>
    </project>

    在添加的jar包的过程中遇到不少问题,可以参照我的其他博文。

    二、测试开发环境是否搭建成功:

    在src目录下添加applicationContext.xml Spring配置文件:

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:tx="http://www.springframework.org/schema/tx" xmlns:p="http://www.springframework.org/schema/p" xmlns:util="http://www.springframework.org/schema/util" xmlns:jdbc="http://www.springframework.org/schema/jdbc"
    xmlns:cache="http://www.springframework.org/schema/cache"
    xsi:schemaLocation="

    http://www.springframework.org/schema/context

    http://www.springframework.org/schema/context/spring-context.xsd

    http://www.springframework.org/schema/beans

    http://www.springframework.org/schema/beans/spring-beans.xsd

    http://www.springframework.org/schema/tx

    http://www.springframework.org/schema/tx/spring-tx.xsd

    http://www.springframework.org/schema/jdbc

    http://www.springframework.org/schema/jdbc/spring-jdbc-3.1.xsd

    http://www.springframework.org/schema/cache

    http://www.springframework.org/schema/cache/spring-cache-3.1.xsd

    http://www.springframework.org/schema/aop

    http://www.springframework.org/schema/aop/spring-aop.xsd

    http://www.springframework.org/schema/util

    http://www.springframework.org/schema/util/spring-util.xsd">

    </beans>

    编写接口和实现类:

    package com.test.dao;

    public interface InjectionDAO {

    public void save(String arg);
    }

    package com.test.dao;

    public class InjectionDAOImpl implements InjectionDAO {

    @Override
    public void save(String arg) {

    System.out.println("保存的数据: "+arg);
    }

    }

    package com.test.service;

    public interface InjectionService {

    public void save(String arg);
    }

    package com.test.service;

    import com.test.dao.InjectionDAO;

    public class InjectionServiceImpl implements InjectionService {

    InjectionDAO injectionDAO;

    //实现设值注入
    public void setInjectionDAO(InjectionDAO injectionDAO) {
    this.injectionDAO = injectionDAO;
    }

    @Override
    public void save(String arg) {

    System.out.println("接收的数据: "+arg);
    //处理数据
    arg = arg+":"+this.hashCode();

    //调用InjectionDAO的save方法处理数据
    injectionDAO.save(arg);//--->配置xml配置文件
    }

    }

    Spring配置文件:

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:tx="http://www.springframework.org/schema/tx" xmlns:p="http://www.springframework.org/schema/p" xmlns:util="http://www.springframework.org/schema/util" xmlns:jdbc="http://www.springframework.org/schema/jdbc"
    xmlns:cache="http://www.springframework.org/schema/cache"
    xsi:schemaLocation="

    http://www.springframework.org/schema/context

    http://www.springframework.org/schema/context/spring-context.xsd

    http://www.springframework.org/schema/beans

    http://www.springframework.org/schema/beans/spring-beans.xsd

    http://www.springframework.org/schema/tx

    http://www.springframework.org/schema/tx/spring-tx.xsd

    http://www.springframework.org/schema/jdbc

    http://www.springframework.org/schema/jdbc/spring-jdbc-3.1.xsd

    http://www.springframework.org/schema/cache

    http://www.springframework.org/schema/cache/spring-cache-3.1.xsd

    http://www.springframework.org/schema/aop

    http://www.springframework.org/schema/aop/spring-aop.xsd

    http://www.springframework.org/schema/util

    http://www.springframework.org/schema/util/spring-util.xsd">

    <bean id="injectionService" class="com.test.service.InjectionServiceImpl">
    <property name="injectionDAO" ref="injectionDAO"></property>
    </bean>

    <bean id="injectionDAO" class="com.test.dao.InjectionDAOImpl"></bean>
    </beans>

    测试类:

    package com.test.test;

    import java.text.SimpleDateFormat;
    import java.util.Date;

    import org.junit.After;
    import org.junit.Before;
    import org.junit.Test;
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;

    import com.test.service.InjectionService;

    public class TestSpringCase {

    <span style="white-space:pre"> </span>//获取当前时间
    <span style="white-space:pre"> </span>Date date = new Date();
    <span style="white-space:pre"> </span>
    <span style="white-space:pre"> </span>//格式化格式
    <span style="white-space:pre"> </span>String ftype="yyyy年MM月dd日 hh时:mm分:ss秒";
    <span style="white-space:pre"> </span>
    <span style="white-space:pre"> </span>//时间格式化对象
    <span style="white-space:pre"> </span>SimpleDateFormat sdf = new SimpleDateFormat(ftype);
    <span style="white-space:pre"> </span>
    <span style="white-space:pre"> </span>//before设置
    <span style="white-space:pre"> </span>@Before
    <span style="white-space:pre"> </span>public void beforeMethod()
    <span style="white-space:pre"> </span>{
    <span style="white-space:pre"> </span>System.out.println("开始执行: "+sdf.format(date));
    <span style="white-space:pre"> </span>}
    <span style="white-space:pre"> </span>
    <span style="white-space:pre"> </span>//after设置
    <span style="white-space:pre"> </span>@After
    <span style="white-space:pre"> </span>public void afterMethod()
    <span style="white-space:pre"> </span>{
    <span style="white-space:pre"> </span>System.out.println("执行完成: "+sdf.format(date));
    <span style="white-space:pre"> </span>}
    <span style="white-space:pre"> </span>
    <span style="white-space:pre"> </span>//测试Spring环境
    <span style="white-space:pre"> </span>@Test
    <span style="white-space:pre"> </span>public void testSpring()
    <span style="white-space:pre"> </span>{
    <span style="white-space:pre"> </span>//加载配置文件
    <span style="white-space:pre"> </span>ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
    <span style="white-space:pre"> </span>//获得实例
    <span style="white-space:pre"> </span>InjectionService is = (InjectionService)ac.getBean("injectionService");
    <span style="white-space:pre"> </span>
    <span style="white-space:pre"> </span>//调用保存方法保存数据
    <span style="white-space:pre"> </span>is.save("我是需要保存的data");
    <span style="white-space:pre"> </span>}
    }

    运行结果:开始执行: 2016年07月16日 10时:03分:44秒
    七月 16, 2016 10:03:45 上午 org.springframework.context.support.ClassPathXmlApplicationContext prepareRefresh
    信息: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@7960847b: startup date [Sat Jul 16 10:03:45 CST 2016]; root of context hierarchy
    七月 16, 2016 10:03:45 上午 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
    信息: Loading XML bean definitions from class path resource [applicationContext.xml]
    接收的数据: 我是需要保存的data
    保存的数据: 我是需要保存的data:394714818
    执行完成: 2016年07月16日 10时:03分:44秒

    Spring配置完毕!



沪ICP备19023445号-2号
友情链接