Spring+SpringMVC+Mybatis配置(Maven项目)
2017-05-02 00:05
183 查看
1.添加SSM框架需要的jar包依赖:
Spring、SpringMVC相关的包(4.3.5版本):
1)spring核心包:spring-core.jar;
2 ) spring的AOP功能相关的包:spring-aop.jar,spring-aspects.jar
3 ) spring的MVC组件:spring-web.jar,spring-webmvc.jar
4 ) srping处理bean的包:spring-beans.jar
5 ) spring处理ORM的包:spring-orm.jar,spring-jdbc.jar
6 ) spring处理事务的包:spring-tx.jar
7 ) spring表达式相关的包(和注解有关):spring-expression.jar
8 ) 其他基本组件:spring-context.jar,spring-context-support.jar
9 ) spring测试相关的包(用来做单元测试)(可选):spring-test.jar
Mybatis相关的包(3.2.6版本):
1)mybatis核心包:mybatis.jar
2)mybatis和spring整合包:mybatis-spring.jar
3)mybatis半自动生成mapper相关的包(可选):mybatis-generator-core.jar
其他基本组件:
1)mysql驱动或oracle驱动(看使用哪种数据库):mysql-connector.jar,ojdbc.jar
2)文件上传下载相关的包:commons-io.jar,commons-fileupload.jar
3)java的lang包扩展:commons-lang3.jar
4)连接池相关的包(dbcp):commons-dbcp.jar
4)日志相关的包(slf4j):slf4j-api.jar,log4j.jar,slf4j-log4j12.jar,
5)servlet相关的包(加入可直接跑web项目):servlet-api.jar
6)jsp相关的包:jsp-api.jar
其他可选组件:
1)jsp的EL表达式组件:standard.jar,jstl.jar
2)单元测试组件:junit.jar
3)静态化组件(freemarker):freemarker.jar
4)shiro安全组件:shiro-core.jar,shiro-spring.jar
5)缓存框架(ehcache):ehcache.jar
6)缓存框架(redis):jedis.jar
7)json处理包(任选一):gson.jar,fastjson.jar,jackson.jar
8)excel处理包:poi.jar
9)分布式相关的包:dubbo.jar,zookeeper.jar
10)其他。。。。。。
pom.xml依赖样例(加入pom.xml的<dependencies></dependencies>中):
2.配置文件:
1)Spring配置文件applicationContext.xml:
2)SpringMVC配置文件spring-mvc.xml
3)mybatis配置文件mybatis-config.xml:
4)log日志配置文件log4j.properties:
5)jdbc数据库配置文件jdbc.properties:
6)web.xml:
至此,ssm框架基本搭建完成
Spring、SpringMVC相关的包(4.3.5版本):
1)spring核心包:spring-core.jar;
2 ) spring的AOP功能相关的包:spring-aop.jar,spring-aspects.jar
3 ) spring的MVC组件:spring-web.jar,spring-webmvc.jar
4 ) srping处理bean的包:spring-beans.jar
5 ) spring处理ORM的包:spring-orm.jar,spring-jdbc.jar
6 ) spring处理事务的包:spring-tx.jar
7 ) spring表达式相关的包(和注解有关):spring-expression.jar
8 ) 其他基本组件:spring-context.jar,spring-context-support.jar
9 ) spring测试相关的包(用来做单元测试)(可选):spring-test.jar
Mybatis相关的包(3.2.6版本):
1)mybatis核心包:mybatis.jar
2)mybatis和spring整合包:mybatis-spring.jar
3)mybatis半自动生成mapper相关的包(可选):mybatis-generator-core.jar
其他基本组件:
1)mysql驱动或oracle驱动(看使用哪种数据库):mysql-connector.jar,ojdbc.jar
2)文件上传下载相关的包:commons-io.jar,commons-fileupload.jar
3)java的lang包扩展:commons-lang3.jar
4)连接池相关的包(dbcp):commons-dbcp.jar
4)日志相关的包(slf4j):slf4j-api.jar,log4j.jar,slf4j-log4j12.jar,
5)servlet相关的包(加入可直接跑web项目):servlet-api.jar
6)jsp相关的包:jsp-api.jar
其他可选组件:
1)jsp的EL表达式组件:standard.jar,jstl.jar
2)单元测试组件:junit.jar
3)静态化组件(freemarker):freemarker.jar
4)shiro安全组件:shiro-core.jar,shiro-spring.jar
5)缓存框架(ehcache):ehcache.jar
6)缓存框架(redis):jedis.jar
7)json处理包(任选一):gson.jar,fastjson.jar,jackson.jar
8)excel处理包:poi.jar
9)分布式相关的包:dubbo.jar,zookeeper.jar
10)其他。。。。。。
pom.xml依赖样例(加入pom.xml的<dependencies></dependencies>中):
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>4.3.5.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aop</artifactId> <version>4.3.5.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aspects</artifactId> <version>4.3.5.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>4.3.5.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>4.3.5.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>4.3.5.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-expression</artifactId> <version>4.3.5.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>4.3.5.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-orm</artifactId> <version>4.3.5.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>4.3.5.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>4.3.5.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>4.3.5.RELEASE</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>1.3.1</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.2.6</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.5</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> <scope>provided</scope> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.21</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>dubbo</artifactId> <version>2.5.3</version> </dependency> <dependency> <groupId>org.nd4j</groupId> <artifactId>jackson</artifactId> <version>0.8.0</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.7</version> </dependency> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.10</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> <dependency> <groupId>commons-dbcp</groupId> <artifactId>commons-dbcp</artifactId> <version>1.4</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> <version>2.8.4</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.8.4</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-annotations</artifactId> <version>2.8.1</version> </dependency> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.1</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.5</version> </dependency> <dependency> <groupId>net.sf.ehcache</groupId> <artifactId>ehcache</artifactId> <version>2.10.0</version> </dependency> <dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artifactId> <version>1.3.2</version> </dependency> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-core</artifactId> <version>1.3.2</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-spring</artifactId> <version>1.3.2</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.16</version> </dependency> <dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>2.3.23</version> </dependency> <dependency> <groupId>javax.servlet</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.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.3</version> </dependency> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.5</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jsp-api</artifactId> <version>2.0</version> </dependency>
2.配置文件:
1)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:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:mvc="http://www.sprintframework.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/aop http://www.springframework.org/schema/aop/spring-aop-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/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd"> <!-- 开启注解 --> <context:component-scan base-package="com.ssm"><!--修改成项目的组织路径--> <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/> <context:exclude-filter type="annotation" expression="org.springframework.web.bind.annotation.ControllerAdvice"/> </context:component-scan> <!-- 引入jdbc属性文件 --> <bean name="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="location"> <value>classpath:jdbc.properties</value><!--jdbc配置文件位置--> </property> </bean> <!-- 数据库连接池 --> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <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> <!-- spring和MyBatis完美整合,不需要mybatis的配置映射文件 --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="configLocation" value="classpath:mybatis-config.xml"></property><!--mybatis配置文件位置--> <property name="dataSource" ref="dataSource" /> <!-- 自动扫描mapping.xml文件 --> <property name="mapperLocations" value="classpath:com/ssm/**/*.xml"></property><!--修改成mapper.xml映射文件位置--> </bean> <!-- DAO接口所在包名,Spring会自动查找其下的类 --> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="com.ssm.mapper" /><!--修改成mapper接口存放位置--> <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property> </bean> <!-- (事务管理)transaction manager, use JtaTransactionManager for global tx --> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource" /> </bean> <tx:annotation-driven transaction-manager="transactionManager"/> </beans>
2)SpringMVC配置文件spring-mvc.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:mvc="http://www.springframework.org/schema/mvc" 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 http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd"> <!-- 扫描路径 --> <context:component-scan base-package="com.ssm.controller" ><!--修改成controller文件存放位置--> <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/> </context:component-scan> <mvc:annotation-driven /> <!-- REST中根据URL后缀自动判定Content-Type及相应的View --> <bean id="contentNegotiationManager" class="org.springframework.web.accept.ContentNegotiationManagerFactoryBean"> <property name="favorPathExtension" value="false" /> <property name="favorParameter" value="true" /> <property name="mediaTypes" > <value> json=application/json xml=application/xml </value> </property> </bean> <!-- 静态资源放行 --> <mvc:resources mapping="/images/**" location="/images/" cache-period="31556926"/> <mvc:resources mapping="/script/**" location="/script/" cache-period="31556926"/> <mvc:resources mapping="/style/**" location="/style/" cache-period="31556926"/> <!-- 视图名解析,自动添加前缀和后缀--> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/> <property name="prefix" value="/WEB-INF/jsp/"/> <property name="suffix" value=".jsp"/> </bean> <!-- 配置文件上传,如果没有使用文件上传可以不用配置,当然如果不配,那么配置文件中也不必引入上传组件包 --> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <!-- 默认编码 --> <property name="defaultEncoding" value="utf-8" /> <!-- 文件大小最大值 --> <property name="maxUploadSize" value="10485760000" /> <!-- 内存中的最大值 --> <property name="maxInMemorySize" value="40960" /> </bean> </beans>
3)mybatis配置文件mybatis-config.xml:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <typeAliases> <package name="com.ssm.entity"/><!--实体文件存放位置--> </typeAliases> </configuration>
4)log日志配置文件log4j.properties:
log4j.rootLogger=INFO,Console,File #定义日志输出目的地为控制台 log4j.appender.Console=org.apache.log4j.ConsoleAppender log4j.appender.Console.Target=System.out #可以灵活地指定日志输出格式,下面一行是指定具体的格式 log4j.appender.Console.layout = org.apache.log4j.PatternLayout log4j.appender.Console.layout.ConversionPattern=[%c] - %m%n #文件大小到达指定尺寸的时候产生一个新的文件 log4j.appender.File = org.apache.log4j.RollingFileAppender #指定输出目录 log4j.appender.File.File = logs/ssm.log #定义文件最大大小 log4j.appender.File.MaxFileSize = 10MB # 输出所有日志,如果换成DEBUG表示输出DEBUG以上级别日志 log4j.appender.File.Threshold = ALL log4j.appender.File.layout = org.apache.log4j.PatternLayout log4j.appender.File.layout.ConversionPattern =[%p] [%d{yyyy-MM-dd HH\:mm\:ss}][%c]%m%n
5)jdbc数据库配置文件jdbc.properties:
jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/ssm?characterEncoding=utf-8 jdbc.username=root jdbc.password=
6)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_3_0.xsd" version="3.0"> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value> </context-param> <filter> <filter-name>encodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <async-supported>true</async-supported> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <listener> <listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class> </listener> <servlet> <servlet-name>SpringMVC</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring-mvc.xml</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>SpringMVC</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>/index.jsp</welcome-file> </welcome-file-list> </web-app>
至此,ssm框架基本搭建完成
相关文章推荐
- java SSM(Spring+SpringMVC+MyBatis)maven项目 intellij idea 2017配置 MAC,(Linux,ubuntu,centos 只要更改相应目录即可)
- (六)springmvc+mybatis+dubbo+zookeeper分布式架构 整合 - maven构建config配置项目
- 从零开始搭建maven+springmvc+mybatis web项目(2)---springmvc配置文件编写
- idea maven spring+springmvc+sql server+mybatis项目配置
- eclipse 中创建 整合springmvc+mybatis+maven 的java web项目步骤,以及maven仓库配置
- maven构建项目二(添加配置文件)SpringMvc+Spring+Mybatis
- ecl 4000 ipse搭建springMVC+mybatis+maven项目
- 搭建springMVC+Mybatis的Maven项目过程中遇到的问题汇总。
- Spring+SpringMVC+MyBatis+Maven 服务端XML配置
- Spring+SpringMVC+Mybatis整合系列(二)Eclipse新建Maven web项目
- 关于maven+springMVC+mybatis搭建的web项目问题
- springMVC+Mybatis的maven-web项目的pom.xml文件内容
- springmvc + spring + mybatis + maven整合配置文件
- 基于Maven项目,搭建Spring+SpringMVC+MyBatis的WEB项目(待更新)
- Maven+Spring+Spring MVC+Mybatis项目实战
- maven 构建 全注解 spring mvc + mybatis mysql 项目
- maven创建多模块项目+springMVC+mybatis
- 基于maven管理的项目中spring+mybatis配置数据源读取不到properties属性文件的问题
- springmvc+mongodb+maven 项目搭建配置
- Maven搭建SpringMVC+Mybatis+freemarker项目详解