手记

快速搭建Spring和SpringMVC框架

  1. Spring框架包的导入:
    下载你所需要的Spring的版本,本例以Spring3.2.2为例进行说明
    Spring jar包官网下载地址: http://repo.spring.io/release/org/springframework/spring/
    导入所需要的jar包和关联jar包完整jar截图如下:

其中sources为源码包,不需要的同鞋可以去掉

  1. 配置Web.xml文件
    web.xml文件为所有web应用程序启动加载的首个文件,所有框架的加载都需要在此配置。
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
    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_2_5.xsd">
    <!--配置上下文,Spring的ContextLoaderListener类会自动加载contextConfigLocation的value值  -->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:applicationContext.xml</param-value>
    </context-param>
    <!--启动Spring的监听,Spring的IoC,声明式事务,AOP等功能就可以使用了,-->
    <!--但是还没有MVC框架奥,也就是说不能接受客户端请求和进行相应,那就需要我们的SpirngMVC出场了   -->
    <listener>
        <listener-class>
            org.springframework.web.context.ContextLoaderListener
        </listener-class>
    </listener>

    <!-- 配置SpringMVC的框架 -->
    <servlet>
        <servlet-name>SpringMVC</servlet-name><!--Springmvc的拦截器会根据此名字,自动在WEB-INF文件下查找对应的名字  -->
        <servlet-class>
            org.springframework.web.servlet.DispatcherServlet
        </servlet-class>
        <load-on-startup>2</load-on-startup>
    </servlet>

    <!--配置springmvc要拦截的请求  -->
    <servlet-mapping>
        <servlet-name>SpringMVC</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

    <!--字符串过滤配置,默认为UTF-8的字符类型  -->
    <filter>  
        <filter-name>characterEncodingFilter</filter-name>  
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>  
        <init-param>  
            <param-name>encoding</param-name>  
            <param-value>UTF-8</param-value>  
        </init-param>  
        <init-param>  
            <param-name>forceEncoding</param-name>  
            <param-value>true</param-value>  
        </init-param>  
    </filter>  
    <filter-mapping>  
        <filter-name>characterEncodingFilter</filter-name>  
        <url-pattern>/*</url-pattern>  
    </filter-mapping> 
</web-app>

内容有点多,客官不要急奥

  1. 配置Spring的核心配置文件(applicationContext.xml)
    我们知道Spring和SpringMVC是侧重不同的,就像Java的jdk和jre一样,其实JDK里面就包含了JER,SpringMVC就属于Spring功能模块的一部分,我们使用SpringMVC框架主要就是为了完成WEB端应用,所以一般情况下,我们会把bean的加载,数据库连接池的配置放在Spring的核心配置文件applicationContext.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:p="http://www.springframework.org/schema/p"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
       http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
       http://www.springframework.org/schema/context 
       http://www.springframework.org/schema/context/spring-context-3.2.xsd
       http://www.springframework.org/schema/tx 
       http://www.springframework.org/schema/tx/spring-tx-3.2.xsd
       http://www.springframework.org/schema/aop
       http://www.springframework.org/schema/aop/spring-aop-3.2.xsd">

    <!-- 扫描类包,将标注Spring注解的类自动转化Bean,同时完成Bean的注入 -->
    <context:component-scan base-package="com.baobaotao.dao"/>
    <context:component-scan base-package="com.baobaotao.service"/>

    <!-- 配置数据源 -->
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
        destroy-method="close" 
        p:driverClassName="com.mysql.jdbc.Driver"
        p:url="jdbc:mysql://localhost:3306/test" 
        p:username="root"
        p:password="123456" />

    <!-- 配置Jdbc模板  -->
    <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"
        p:dataSource-ref="dataSource" />

    <!-- 配置事务管理器 ,如果你暂时未使用到事务可以不配置,次以下内容均可以在不适用事务的情况下删除-->
    <bean id="transactionManager"
        class="org.springframework.jdbc.datasource.DataSourceTransactionManager"
        p:dataSource-ref="dataSource" />

    <!-- 通过AOP配置提供事务增强,让service包下所有Bean的所有方法拥有事务 -->
    <aop:config proxy-target-class="true">
        <aop:aspect id="aspect" ref="aspect">
        <aop:pointcut id="serviceMethod"
            expression=" execution(* com.hp.service..*(..))"  />    
        </aop:aspect>
    </aop:config>
    <tx:advice id="txAdvice" transaction-manager="transactionManager">
        <tx:attributes>
            <tx:method name="*" />
        </tx:attributes>
    </tx:advice>
</beans>
  1. 最后一步啦!配置SpringMVC-servlet.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:p="http://www.springframework.org/schema/p"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:mvc="http://www.springframework.org/schema/mvc"  
    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
       http://www.springframework.org/schema/mvc 
       http://www.springframework.org/schema/mvc/spring-mvc.xsd ">
    <!-- 扫描web包,应用Spring的注解 -->
    <context:component-scan base-package="com.hp"/>

    <!-- 配置视图解析器,将ModelAndView及字符串解析为具体的页面 -->
    <!--springmvc返回的结构回到 /WEB-INF/jsp/ 文件下去寻找奥-->
    <bean
        class="org.springframework.web.servlet.view.InternalResourceViewResolver"
        p:viewClass="org.springframework.web.servlet.view.JstlView" 
        p:prefix="/WEB-INF/jsp/"
        p:suffix=".jsp" />
    <!--一些的静态的资源我们不需要过滤奥  -->
    <mvc:annotation-driven /> 
    <mvc:resources location="/image/" mapping="/image/**"/> 
    <mvc:resources location="/css/" mapping="/css/**"/> 
    <mvc:resources location="/js/" mapping="/js/**"/>
    <mvc:resources location="/jsp/" mapping="/jsp/**"/>
</beans>

到此大功告成,赶快去写个测试登录试试吧,对了此模板没有使用ORM层框架,使用的是Spring集成的JDBC处理方式奥,后期会继续更新Spring+SpringMVC+Hibernate的配置,往后还会有Spring+SpringMVC+Mibatis的配置奥

35人推荐
随时随地看视频
慕课网APP