SSM框架整合( Spring / SpringMVC / Mybatis )

1.创建maven工程导入坐标

  1.     Spring: spring-context 5.0.2 (spring容器)     spring-tx 5.0.2(spring事务)     spring-jdbc 5.0.2(springJDBC)                                                     spring-test   5.0.2(spring单元测试)   spring-webmvc 5.0.2(springMVC) 
  2.     Mybatis:mybatis     3.4.5  (mybatis核心)      mybatis-spring   1.3.1   (mybatis与Spring整合所需)
  3.    切面:  aspectjweaver    1.8.7    (Spring依赖的AOP框架)   
  4.    数据库:mysql-connector-java 5.1.6    (MySql数据库驱动)
  5.    单元测试: junit    4.12    (单元测试)
  6.    ServletAPI:  jsp-api    2.0   (jsp页面使用request等对像)      servlet-api    2.5 (java文件使用request等对象)                                //注意:这两个jar包的 scope 属性需要设置为 provided
  7.   页面表达式:JSTL   1.2 (jstl标签库 )       standard    1.1.2   (jstl标签库依赖jar包)
<properties>
		<!-- 项目编码 -->
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<!-- 编译及输出的时候应用那个版本的jdk -->
		<maven.compiler.source>1.8</maven.compiler.source>
		<maven.compiler.target>1.8</maven.compiler.target>
	</properties>
	

	<dependencies>
		<dependency>
			<groupId>com.github.pagehelper</groupId>
			<artifactId>pagehelper</artifactId>
			<version>5.1.2</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context</artifactId>
			<version>5.0.2.RELEASE</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-webmvc</artifactId>
			<version>5.0.2.RELEASE</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-tx</artifactId>
			<version>5.0.2.RELEASE</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-jdbc</artifactId>
			<version>5.0.2.RELEASE</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-test</artifactId>
			<version>5.0.2.RELEASE</version>
		</dependency>
		<dependency>
			<groupId>org.mybatis</groupId>
			<artifactId>mybatis</artifactId>
			<version>3.4.5</version>
		</dependency>
		<dependency>
			<groupId>org.mybatis</groupId>
			<artifactId>mybatis-spring</artifactId>
			<version>1.3.1</version>
		</dependency>
		<dependency>
			<groupId>org.aspectj</groupId>
			<artifactId>aspectjweaver</artifactId>
			<version>1.8.7</version>
		</dependency>
		<dependency>
			<groupId>commons-dbcp</groupId>
			<artifactId>commons-dbcp</artifactId>
			<version>1.4</version>
		</dependency>
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>5.1.6</version>
		</dependency>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.12</version>
		</dependency>
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>jsp-api</artifactId>
			<version>2.0</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>servlet-api</artifactId>
			<version>2.5</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>jstl</groupId>
			<artifactId>jstl</artifactId>
			<version>1.2</version>
		</dependency>
		<dependency>
			<groupId>taglibs</groupId>
			<artifactId>standard</artifactId>
			<version>1.1.2</version>
		</dependency>
		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-annotations</artifactId>
			<version>2.9.0</version>
		</dependency>
		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-core</artifactId>
			<version>2.9.0</version>
		</dependency>
		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-databind</artifactId>
			<version>2.9.0</version>
		</dependency>
		<dependency>
			<groupId>commons-io</groupId>
			<artifactId>commons-io</artifactId>
			<version>2.5</version>
		</dependency>
		<dependency>
			<groupId>commons-fileupload</groupId>
			<artifactId>commons-fileupload</artifactId>
			<version>1.3.1</version>
		</dependency>
	</dependencies>

2.编写配置文件

  1.   数据库配置文件(db.properties)
    jdbc.driver = com.mysql.jdbc.Driver
    jdbc.url = jdbc:mysql://127.0.0.1:3306/springdb?characterEncoding=UTF-8
    jdbc.username = root
    jdbc.password = root
    			
  2.   编写mybatis配置文件(sqlSessionConfig.xml)
       <configuration>
    		<!-- 打印执行的Sql语句 -->	
    		<settings>
    			<setting name="logImpl" value="STDOUT_LOGGING"/>
    		</settings>
    		<!-- 配置pageHelper -->
    		<plugins>
    	        <plugin interceptor="com.github.pagehelper.PageInterceptor">
    	            <!--<!–分页参数合理化  –>-->
    	            <property name="reasonable" value="true"/>
    	        </plugin>
    	    </plugins>
    	</configuration>		
  3.   编写Spring配置文件(applicationContext.xml)
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
    	xmlns:context="http://www.springframework.org/schema/context" 
    	xmlns:tx="http://www.springframework.org/schema/tx"
    	xmlns:aop="http://www.springframework.org/schema/aop" 
    	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
    		http://www.springframework.org/schema/context
    		http://www.springframework.org/schema/context/spring-context.xsd
    		http://www.springframework.org/schema/tx
    		http://www.springframework.org/schema/tx/spring-tx.xsd
    		http://www.springframework.org/schema/aop
    		http://www.springframework.org/schema/aop/spring-aop.xsd">
    		
    	<!-- 加载外部配置文件 -->		
    	<context:property-placeholder location="classpath:db.properties"/>
    		
    	<!-- 扫描注解所在包,并排除controller,包地址需要根据实际应用修改 -->		
    	<context:component-scan base-package="com.zzz">
    		<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
    	</context:component-scan>	
    		
    	<!-- 加载数据源 -->
    	<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
    		<!-- 加载数据源四大属性 -->
    		<property name="driverClassName" value="${jdbc.driver}" />
    		<property name="url" value="${jdbc.url}" />
    		<property name="username" value="${jdbc.username}" />
    		<property name="password" value="${jdbc.password}" />
    	</bean>
    	<!-- 配置事务管理器 -->
    	<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    		<!-- 给事务绑定数据源 -->
    		<property name="dataSource" ref="dataSource" />
    	</bean>
    
    	<!-- 开启AOP注解事务,使用cglib作为动态代理 -->
    	<tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true"/>
    
    	<!-- 创建sqlSession工厂 -->
    	<bean class="org.mybatis.spring.SqlSessionFactoryBean">
    		<property name="configLocation" value="classpath:sqlMapConfig.xml" />
    		<property name="dataSource" ref="dataSource" />
    	</bean>
    
    	<!-- 配置扫描mybatis注解所在包,包地址需要根据实际应用修改 -->
    	<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    		<property name="basePackage" value="com.zzz.dao" />
    	</bean>
    
    
    </beans>
  4. 编写SpringMVC的配置文件(spring-mvc.xml)

    <?xml version="1.0" encoding="UTF-8"?>
    		<beans xmlns="http://www.springframework.org/schema/beans"
    			xmlns:context="http://www.springframework.org/schema/context"
    			xmlns:mvc="http://www.springframework.org/schema/mvc" 
    			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
    				http://www.springframework.org/schema/context
    				http://www.springframework.org/schema/context/spring-context.xsd
    				http://www.springframework.org/schema/mvc
    				http://www.springframework.org/schema/mvc/spring-mvc.xsd">
    
    			1.扫描view层注解配置所在包
    			
    				<context:component-scan base-package="com.zzz">
    					1.1配置只包含web的后端处理器
    					<context:include-filter type="annotation" 
                        expression="org.springframework.stereotype.Controller"/>
    				</context:component-scan>
    			
    			2.加载SpringMVC的三大组件
    			
    				<mvc:annotation-driven />
    			
    			3.配置视图解析器
    			
    				<bean 
                   class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    					<property name="prefix" value="/WEB-INF/pages/" />
    					<property name="suffix" value=".jsp" />
    				</bean>
    			
    			4.配置静态资源不拦截
    			
    				<mvc:resources location="/js/" mapping="/js/**" />
    				<mvc:resources location="/css/" mapping="/css/**" />
    				<mvc:resources location="/image/" mapping="/image/**" />
    
    		</beans>

3.修改web.xml配置(WEB-INF目录下的web.xml)

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xmlns="http://java.sun.com/xml/ns/javaee" 
	xsi:schemaLocation="
		http://java.sun.com/xml/ns/javaee 
		http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
		version="2.5">
  <display-name>msgboard</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  
	<!-- 配置加载Spring配置文件 -->  
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>classpath:appliactionContext.xml</param-value>
	</context-param>
	
	<!-- 配置监听器 -->
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>
	
	<!-- 配置编码过滤器 -->
	<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>
	</filter>
  	<filter-mapping>
  		<filter-name>characterEncodingFilter</filter-name>
  		<url-pattern>/*</url-pattern>
  	</filter-mapping>
  	
  	<!-- 配置Spring前端控制器 -->
  	<servlet>
  		<servlet-name>dispatcherServlet</servlet-name>
  		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  		<!-- 设置创建servelt时加载spring-mvc配置文件 -->
  		<init-param>
  			<param-name>contextConfigLocation</param-name>
  			<param-value>classpath:spring-mvc.xml</param-value>
  		</init-param>
  		<!-- 配置应用一加载就创建该servlet -->
  		<load-on-startup>1</load-on-startup>
  	</servlet>
  	<servlet-mapping>
  		<servlet-name>dispatcherServlet</servlet-name>
  		<url-pattern>/</url-pattern>
  	</servlet-mapping>
  	
</web-app>

猜你喜欢

转载自blog.csdn.net/qq_42494445/article/details/83904619