1 搭建Spring开发环境

本教程主要依据作者课堂讲义整理而成,讲解如何使用SSH框架搭建一个权限管理系统。在本章中,将会带领读者搭建Spring开发环境,并测试是否搭建成功。

0 准备工作

在开始之前需要完成以下软件的安装,读者可自行在网上下载:
(1)JDK6+
(2)MyEclipse for spring 10.6
(3)Tomcat6+
(4)Firefox、Firebug
(5)MySQL
(6)Navicat
(7)log4e插件

1 安装Log4e插件

Log4e是一个免费的Eclipse插件,它可帮助你在Java工程中快速加入日志。而且Log4e可以帮助你把System.out.println转成日志的输出,非常方便,还可以瞬间移除代码中的日志代码,无需我们一个一个找到然后再删除。
将log4e插件放入MyEclipse的dropins目录中,重启MyEclipse即可。


目录结构


2 创建Web项目

在这里我们项目名为ilv_ic,创建过程中添加maven支持,如下图所示。


maven支持


由于maven特有的目录结构,因此新建几个资源文件夹【Source Folder】(注意不是包和文件夹),如下图所示。


创建资源文件夹


创建完成后,目录结构如下图所示。


目录结构


其中src/main/java为工具默认生成,其他三个资源文件夹为手动生成。

3 导入spring jar包

要想使用spring框架,必须使用maven导入spring需要的jar包,只需在pom.xml中添加:


<!-- 配置spring -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>3.1.2.RELEASE</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>3.1.2.RELEASE</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-jdbc</artifactId>
    <version>3.1.2.RELEASE</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-beans</artifactId>
    <version>3.1.2.RELEASE</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-web</artifactId>
    <version>3.1.2.RELEASE</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-expression</artifactId>
    <version>3.1.2.RELEASE</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-orm</artifactId>
    <version>3.1.2.RELEASE</version>
</dependency>
<!-- 配置junit,用于测试环境 -->
<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.10</version>
    <scope>test</scope>
</dependency>
<!-- 配置log4j -->
<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
</dependency>

注意:maven中导入的版本号【version】不要随意更改,换成最新的可能会造成插件之间不兼容!!!

4 配置文件

在src/main/resources中放入配置文件:spring.xml和log4j.properties。
spring.xml


<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="
    http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 
    http://www.springframework.org/schema/context 
    http://www.springframework.org/schema/context/spring-context-3.0.xsd
    ">
    <!-- 自动扫描dao和service包(自动注入) -->
    <context:component-scan base-package="ilv.dao,ilv.service" />
</beans>

注意:我们配置了spring自动扫描包,因此,在src/main/java下新建ilv.dao和ilv.service包,分别表示数据库持久层和业务层。


包结构


log4j.properties


log4j.rootLogger=INFO,A1,R

log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.Target=System.out
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=[%c]%m%n

log4j.appender.R=org.apache.log4j.RollingFileAppender 
log4j.appender.R.File=ilv_ic.log
log4j.appender.R.MaxFileSize=10MB
log4j.appender.R.Threshold=ALL
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=[%p][%d{yyyy-MM-dd HH\:mm\:ss,SSS}][%c]%m%n

输出的日志将保存在项目【ilv_ic.log】文件中。完成后,main/java/resource目录结构如下图所示。


资源文件夹目录结构


5 Java环境测试

完成上面的工作后,我们就可以对spring进行测试,判断是否搭建sping环境成功。在ilv.service包中新建UserServiceI接口类。
代码清单1:UserServiceI.java


package ilv.service;

public interface UserServiceI {

    public void test();
}

然后再创建实现此接口的UserServiceImpl类。
代码清单2:UserServiceImpl.java


package ilv.service;
import org.springframework.stereotype.Service;
import org.apache.log4j.Logger;

@Service(value="userService")
public class UserServiceImpl implements UserServiceI {
    /**
     * Logger for this class
     */
    private static final Logger logger = Logger
            .getLogger(UserServiceImpl.class);

    @Override
    public void test() {
        logger.info("打印信息");
    }
}

注意:


/**
     * Logger for this class
     */
    private static final Logger logger = Logger
            .getLogger(UserServiceImpl.class);

上面的代码可以通过在代码编辑器点击鼠标右键,选择【Log4E】->【Declare logger】选项。


Log4E插件


即可自动生成上面代码片段。
在UserServiceImpl 类中,使用了@Service(value=”userService”)语句,将UserServiceImpl类与变量userService进行绑定。这样spring框架就能够为我们自动注入依赖,不需要我们new生成UserServiceImpl对象。具体原理参看《2 Spring运行机制》。
编写好用户业务层代码后,我们在src/test/java中编写测试类。
代码清单3:UserServiceImpl .java


package ilv.test;

import ilv.service.UserServiceI;

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

public class TestSpring {

    @Test
    public void test() {
        /*
         * 获取资源(src/main/resources)下的spring.xml配置文件
         * classpath在maven中指src/main/resources资源文件夹
         */
        ApplicationContext ac = new ClassPathXmlApplicationContext(
                new String[] { "classpath:spring.xml" });
        // 参数"userService"已经在UserServiceImpl类中进行了绑定
        // spring框架将会自动生成名为userService的UserServiceImpl对象(配置文件设置了自动扫描dao和service包)
        UserServiceI userService = (UserServiceI) ac.getBean("userService");
        //调用UserServiceImpl对象中的测试方法
        userService.test();
    }
}

点击test类,单击鼠标右键,选择debug as JUnit Test。


测试


如果能打印信息,表示spring在java项目中配置成功。


打印信息


6 Web环境测试

我们使用Tomcat作为服务器,首先修改web.xml配置文件,web.xml文件位于src/main/webapp/WEB-INF目录下。


web配置文件


web.xml


<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
    http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
  <display-name></display-name> 
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:spring.xml </param-value>
  </context-param>  
  <listener>
    <listener-class>
    org.springframework.web.context.ContextLoaderListener
    </listener-class>
  </listener>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>

配置web.xml后,web容器将加载spring.xml配置文件,并添加spring监听器。
选择【Servers】->【Add Deploy…】


添加依赖


将项目ilv_ic添加到Tomcat服务器中。


添加依赖


选择ilv_ic项目,点击【Debug Server】运行Tomcat没有错误,那么表示web下的spring配置成功。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值