ssm 搭建项目各项配置


首先配置 pom.xml

  1 <?xml version="1.0" encoding="UTF-8"?>
  2 
  3 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5   <modelVersion>4.0.0modelVersion>
  6 
  7   <groupId>com.etcgroupId>
  8   <artifactId>shyartifactId>
  9   <version>1.0-SNAPSHOTversion>
 10   <packaging>warpackaging>
 11 
 12   <name>shy Maven Webappname>
 13   
 14   <url>http://www.example.comurl>
 15 
 16   <properties>
 17     <project.build.sourceEncoding>UTF-8project.build.sourceEncoding>
 18     <maven.compiler.source>1.7maven.compiler.source>
 19     <maven.compiler.target>1.7maven.compiler.target>
 20     <spring.version>4.3.24.RELEASEspring.version>
 21     <mybatis.version>3.5.1mybatis.version>
 22     <mybatis-spring.version>1.3.2mybatis-spring.version>
 23   properties>
 24 
 25   <dependencies>
 26     
 27     <dependency>
 28       <groupId>org.hibernategroupId>
 29       <artifactId>hibernate-validatorartifactId>
 30       <version>5.2.4.Finalversion>
 31     dependency>
 32     
 33     <dependency>
 34       <groupId>junitgroupId>
 35       <artifactId>junitartifactId>
 36       <version>4.12version>
 37     dependency>
 38     
 39     <dependency>
 40       <groupId>org.mybatisgroupId>
 41       <artifactId>mybatisartifactId>
 42       <version>${mybatis.version}version>
 43     dependency>
 44     
 45     <dependency>
 46       <groupId>mysqlgroupId>
 47       <artifactId>mysql-connector-javaartifactId>
 48       <version>5.1.22version>
 49     dependency>
 50     
 51     <dependency>
 52       <groupId>org.mybatisgroupId>
 53       <artifactId>mybatis-springartifactId>
 54       <version>${mybatis-spring.version}version>
 55     dependency>
 56 
 57     
 58     <dependency>
 59       <groupId>log4jgroupId>
 60       <artifactId>log4jartifactId>
 61       <version>1.2.17version>
 62     dependency>
 63     <dependency>
 64       <groupId>org.slf4jgroupId>
 65       <artifactId>slf4j-apiartifactId>
 66       <version>1.7.5version>
 67     dependency>
 68 
 69     
 70     <dependency>
 71       <groupId>org.springframeworkgroupId>
 72       <artifactId>spring-coreartifactId>
 73       <version>${spring.version}version>
 74     dependency>
 75     <dependency>
 76       <groupId>org.springframeworkgroupId>
 77       <artifactId>spring-contextartifactId>
 78       <version>${spring.version}version>
 79     dependency>
 80     <dependency>
 81       <groupId>org.springframeworkgroupId>
 82       <artifactId>spring-webartifactId>
 83       <version>${spring.version}version>
 84     dependency>
 85     <dependency>
 86       <groupId>org.springframeworkgroupId>
 87       <artifactId>spring-context-supportartifactId>
 88       <version>${spring.version}version>
 89     dependency>
 90     <dependency>
 91       <groupId>org.springframeworkgroupId>
 92       <artifactId>spring-webmvcartifactId>
 93       <version>${spring.version}version>
 94     dependency>
 95     <dependency>
 96       <groupId>org.springframeworkgroupId>
 97       <artifactId>spring-testartifactId>
 98       <version>${spring.version}version>
 99     dependency>
100     
101     <dependency>
102       <groupId>org.springframeworkgroupId>
103       <artifactId>spring-aopartifactId>
104       <version>${spring.version}version>
105     dependency>
106     <dependency>
107       <groupId>org.aspectjgroupId>
108       <artifactId>aspectjweaverartifactId>
109       <version>1.8.13version>
110     dependency>
111     <dependency>
112       <groupId>cglibgroupId>
113       <artifactId>cglibartifactId>
114       <version>3.2.4version>
115     dependency>
116     
117     <dependency>
118       <groupId>org.springframeworkgroupId>
119       <artifactId>spring-ormartifactId>
120       <version>${spring.version}version>
121     dependency>
122     <dependency>
123       <groupId>org.springframeworkgroupId>
124       <artifactId>spring-txartifactId>
125       <version>${spring.version}version>
126     dependency>
127     
128     <dependency>
129       <groupId>javax.servletgroupId>
130       <artifactId>jstlartifactId>
131       <version>1.2version>
132     dependency>
133     
134     <dependency>
135       <groupId>javax.servletgroupId>
136       <artifactId>servlet-apiartifactId>
137       <version>3.0.1version>
138     dependency>
139     
140     <dependency>
141       <groupId>org.projectlombokgroupId>
142       <artifactId>lombokartifactId>
143       <version>1.18.8version>
144       <scope>providedscope>
145     dependency>
146     
147     <dependency>
148       <groupId>commons-iogroupId>
149       <artifactId>commons-ioartifactId>
150       <version>2.4version>
151     dependency>
152     <dependency>
153       <groupId>commons-fileuploadgroupId>
154       <artifactId>commons-fileuploadartifactId>
155       <version>1.3version>
156     dependency>
157     
158     <dependency>
159       <groupId>com.github.pagehelpergroupId>
160       <artifactId>pagehelperartifactId>
161       <version>4.2.1version>
162     dependency>
163     <dependency>
164       <groupId>javax.servletgroupId>
165       <artifactId>javax.servlet-apiartifactId>
166       <version>3.0.1version>
167     dependency>
168     
169     <dependency>
170       <groupId>com.google.code.gsongroupId>
171       <artifactId>gsonartifactId>
172       <version>2.8.5version>
173     dependency>
174 
175   dependencies>
176 
177 
178   <build>
179     
180     <plugins>
181       <plugin>
182         <groupId>org.mybatis.generatorgroupId>
183         <artifactId>mybatis-generator-maven-pluginartifactId>
184         <version>1.3.2version>
185         <dependencies>
186           <dependency>
187             <groupId>mysqlgroupId>
188             <artifactId>mysql-connector-javaartifactId>
189             <version>5.1.22version>
190           dependency>
191         dependencies>
192         <configuration>
193           
194           <configurationFile>src/main/resources/generatorConfig.xmlconfigurationFile>
195           <overwrite>trueoverwrite>
196         configuration>
197       plugin>
198     plugins>
199 
200 
201     <finalName>shyfinalName>
202     <pluginManagement>
203       <plugins>
204         <plugin>
205           <artifactId>maven-clean-pluginartifactId>
206           <version>3.1.0version>
207         plugin>
208         
209         <plugin>
210           <artifactId>maven-resources-pluginartifactId>
211           <version>3.0.2version>
212         plugin>
213         <plugin>
214           <artifactId>maven-compiler-pluginartifactId>
215           <version>3.8.0version>
216         plugin>
217         <plugin>
218           <artifactId>maven-surefire-pluginartifactId>
219           <version>2.22.1version>
220         plugin>
221         <plugin>
222           <artifactId>maven-war-pluginartifactId>
223           <version>3.2.2version>
224         plugin>
225         <plugin>
226           <artifactId>maven-install-pluginartifactId>
227           <version>2.5.2version>
228         plugin>
229         <plugin>
230           <artifactId>maven-deploy-pluginartifactId>
231           <version>2.8.2version>
232         plugin>
233       plugins>
234     pluginManagement>
235   build>
236 project>

spring 配置 applicationContext.xml

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <beans xmlns="http://www.springframework.org/schema/beans"
 3        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4        xmlns:context="http://www.springframework.org/schema/context"
 5        xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
 6        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/aop https://www.springframework.org/schema/aop/spring-aop.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd">
 7 
 8     
 9 
10     <context:component-scan base-package="com">
11         <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller">context:exclude-filter>
12     context:component-scan>
13 
14     
15     <context:property-placeholder location="classpath:mysql.properties"
16                                   ignore-unresolvable="true"/>
17 
18     
19     <bean id="dataSource"
20           class="org.springframework.jdbc.datasource.DriverManagerDataSource">
21         <property name="driverClassName">
22             <value>${mysql.driverClassName}value>
23         property>
24         <property name="url">
25             <value>${mysql.url}
26             value>
27         property>
28         <property name="username">
29             <value>${mysql.username}value>
30         property>
31         <property name="password">
32             <value>${mysql.password}value>
33         property>
34     bean>
35 
36     
37     <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
38         <property name="dataSource" ref="dataSource"/>
39         
40         <property name="configLocation" value="classpath:mybatis-config.xml"/>
41         
42         <property name="typeAliasesPackage" value="com.etc.entity"/>
43         
44         <property name="mapperLocations" value="classpath*:*Mapper.xml"/>
45     bean>
46 
47     <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
48         <property name="basePackage" value="com.etc.dao"/>
49         <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
50         
51     bean>
52     
53     <aop:config>
54         <aop:pointcut id="transactionPointcut" expression="execution(* com.etc.service.*.*(..))"/>
55         <aop:advisor pointcut-ref="transactionPointcut"
56                      advice-ref="transactionAdvice"/>
57     aop:config>
58 
59     
60     
61     
62     <tx:advice id="transactionAdvice" transaction-manager="transactionManager">
63         <tx:attributes>
64             <tx:method name="*" propagation="REQUIRED"/>
65         tx:attributes>
66     tx:advice>
67 
68     
69     <bean id="transactionManager"
70           class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
71         <property name="dataSource" ref="dataSource"/>
72     bean>
73 
74 beans>

springmvc 配置springmvc.xml

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <beans xmlns="http://www.springframework.org/schema/beans"
 3        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4        xmlns:context="http://www.springframework.org/schema/context"
 5        xmlns:mvc="http://www.springframework.org/schema/mvc"
 6        xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
 7         http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
 8         http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd">
 9 
10     
11     <mvc:annotation-driven>mvc:annotation-driven>
12 
13     <context:component-scan base-package="com.etc.controller">context:component-scan>
14 
15     
16     <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
17         <property name="prefix" value="/WEB-INF/jsp/">property>
18         <property name="suffix" value=".jsp">property>
19     bean>
20 
21     
22     <mvc:resources location="/js/" mapping="/js/**"/>
23     <mvc:resources location="/css/" mapping="/css/**"/>
24     <mvc:resources location="/images/" mapping="/images/**"/>
25 
26     
27     <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
28         <property name="maxUploadSize" value="104857600"/>
29         <property name="defaultEncoding" value="UTF-8">property>
30     bean>
31 
32 beans>

mybatis 配置 mybatis-config.xml

 1 <?xml version="1.0" encoding="UTF-8" ?>
 2 DOCTYPE configuration
 3         PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
 4         "http://mybatis.org/dtd/mybatis-3-config.dtd">
 5 <configuration>
 6     
 7     <settings>
 8         <setting name="mapUnderscoreToCamelCase" value="true"/>
 9     settings>
10 
11     
12     <plugins>
13         <plugin interceptor="com.github.pagehelper.PageHelper">
14             <property name="dialect" value="mysql">property>
15         plugin>
16     plugins>
17 
18 configuration>

附加文件

mysql.properties 连接数据库配置

1 mysql.driverClassName=com.mysql.jdbc.Driver
2 mysql.url=jdbc:mysql://localhost:3306/shy?useUnicode=true&characterEncoding=UTF-8
3 mysql.username=root
4 mysql.password=123456

log4j.properties 日志打印

1 log4j.rootLogger=debug,console
2 
3 log4j.appender.console=org.apache.log4j.ConsoleAppender  
4 
5 log4j.appender.console.layout=org.apache.log4j.PatternLayout  
6 
7 log4j.appender.console.layout.ConversionPattern=%d %-2p [%c.%M()] - %m%n
8 
9 log4j.logger.java.sql=debug

generatorConfig.xml 逆向工程

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 DOCTYPE generatorConfiguration
 3         PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
 4         "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
 5 <generatorConfiguration>
 6     <context id="test" targetRuntime="MyBatis3">
 7         <plugin type="org.mybatis.generator.plugins.EqualsHashCodePlugin">plugin>
 8         <plugin type="org.mybatis.generator.plugins.SerializablePlugin">plugin>
 9         <plugin type="org.mybatis.generator.plugins.ToStringPlugin">plugin>
10         <commentGenerator>
11             
12             
13             <property name="suppressDate" value="true" />
14             
15             <property name="suppressAllComments" value="true" />
16         commentGenerator>
17         
18         <jdbcConnection driverClass="com.mysql.jdbc.Driver"
19                         connectionURL="jdbc:mysql://localhost:3306/shy" userId="root"
20                         password="123456">
21         jdbcConnection>
22         <javaTypeResolver>
23             
25             <property name="forceBigDecimals" value="false" />
26         javaTypeResolver>
27         
28         <javaModelGenerator targetPackage="com.etc.entity"
29                             targetProject="target">
30             <property name="enableSubPackages" value="true" />
31             <property name="trimStrings" value="true" />
32         javaModelGenerator>
33         
34         <sqlMapGenerator targetPackage="com.etc.dao"
35                          targetProject="target">
36             <property name="enableSubPackages" value="true" />
37         sqlMapGenerator>
38         
39         <javaClientGenerator type="XMLMAPPER"
40                              targetPackage="com.etc.dao"
41                              targetProject="target">
42             <property name="enableSubPackages" value="true" />
43         javaClientGenerator>
44 
45         
46         <table tableName="t_cart" domainObjectName="Cart">table>
47         <table tableName="t_furniture" domainObjectName="Furniture">table>
48         <table tableName="t_order" domainObjectName="Order">table>
49         <table tableName="t_type" domainObjectName="Type">table>
50         <table tableName="t_user" domainObjectName="User">table>
51 
52     context>
53 generatorConfiguration>

web.xml 配置

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <web-app xmlns="http://java.sun.com/xml/ns/javaee"
 3          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4          xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
 5          version="3.0">
 6   <display-name>Archetype Created Web Applicationdisplay-name>
 7 
 8   
 9   <listener>
10     <listener-class>org.springframework.web.context.ContextLoaderListenerlistener-class>
11   listener>
12   
13   <context-param>
14     <param-name>contextConfigLocationparam-name>
15     <param-value>classpath:applicationContext.xmlparam-value>
16   context-param>
17 
18   
19   <servlet>
20     <servlet-name>springmvcservlet-name>
21     <servlet-class>org.springframework.web.servlet.DispatcherServletservlet-class>
22     <init-param>
23       <param-name>contextConfigLocationparam-name>
24       <param-value>classpath:springmvc.xmlparam-value>
25     init-param>
26     <load-on-startup>1load-on-startup>
27   servlet>
28 
29   <servlet-mapping>
30     <servlet-name>springmvcservlet-name>
31     <url-pattern>/url-pattern>
32   servlet-mapping>
33 
34 
35   
36   <filter>
37     <description>字符集过滤器description>
38     <filter-name>encodingFilterfilter-name>
39     <filter-class>org.springframework.web.filter.CharacterEncodingFilterfilter-class>
40     <init-param>
41       <description>字符集编码description>
42       <param-name>encodingparam-name>
43       <param-value>UTF-8param-value>
44     init-param>
45   filter>
46   <filter-mapping>
47     <filter-name>encodingFilterfilter-name>
48     <url-pattern>/*url-pattern>
49   filter-mapping>
50 
51 web-app>