IDEA下的Maven+SSM框架搭建

(1)     Maven设置

Maven是一个项目管理工具,本项目中主要用来对jar包的管理

File – Settings -- Maven

Maven中conf 中 settings.xml设置(可要可不要,就是上图中的local repository)

(2)     创建maven项目

File—New--Project

接着下一步,这里需要注在Properties中添加一个参数 archetypeCatalog=internal,不加这个参数,在maven生成骨架的时候将会非常慢,有时候直接卡住(很重要,在setting文件中改镜像地址也可以,http://www.cnblogs.com/kingclever/p/7045239.html)

创建maven项目结果

导入相关配置和包,这是漫长的过程。

若是过程中有报

就去垃圾回收站把这个项目删除即可

为项目添加java包

File-- Project  Structure---Modules

将java 文件变成source文件夹,参考

http://www.jianshu.com/p/099eeca28c0f

(3)     pom.xml设置

 
  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

  2. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

  3. <modelVersion>4.0.0</modelVersion>

  4. <groupId>com.bian.web</groupId>

  5. <artifactId>web-bian</artifactId>

  6. <packaging>war</packaging>

  7. <version>1.0-SNAPSHOT</version>

  8. <name>web-bian Maven Webapp</name>

  9. <url>http://maven.apache.org</url>

  10.  
  11. <properties>

  12. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

  13. <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

  14.  
  15. <!-- spring版本号 -->

  16. <spring.version>4.2.5.RELEASE</spring.version>

  17.  
  18. <!-- mybatis版本号 -->

  19. <mybatis.version>3.2.8</mybatis.version>

  20.  
  21. <!-- mysql驱动版本号 -->

  22. <mysql-driver.version>5.1.29</mysql-driver.version>

  23.  
  24. <!-- log4j日志包版本号 -->

  25. <slf4j.version>1.7.18</slf4j.version>

  26. <log4j.version>1.2.17</log4j.version>

  27.  
  28. </properties>

  29.  
  30. <dependencies>

  31. <!-- 添加jstl依赖 -->

  32. <dependency>

  33. <groupId>jstl</groupId>

  34. <artifactId>jstl</artifactId>

  35. <version>1.2</version>

  36. </dependency>

  37.  
  38. <dependency>

  39. <groupId>javax</groupId>

  40. <artifactId>javaee-api</artifactId>

  41. <version>7.0</version>

  42. </dependency>

  43.  
  44. <!-- 添加junit4依赖 -->

  45. <dependency>

  46. <groupId>junit</groupId>

  47. <artifactId>junit</artifactId>

  48. <version>4.11</version>

  49. <!-- 指定范围,在测试时才会加载 -->

  50. <scope>test</scope>

  51. </dependency>

  52.  
  53. <!-- 添加spring核心依赖 -->

  54. <dependency>

  55. <groupId>org.springframework</groupId>

  56. <artifactId>spring-core</artifactId>

  57. <version>${spring.version}</version>

  58. </dependency>

  59. <dependency>

  60. <groupId>org.springframework</groupId>

  61. <artifactId>spring-web</artifactId>

  62. <version>${spring.version}</version>

  63. </dependency>

  64. <dependency>

  65. <groupId>org.springframework</groupId>

  66. <artifactId>spring-oxm</artifactId>

  67. <version>${spring.version}</version>

  68. </dependency>

  69. <dependency>

  70. <groupId>org.springframework</groupId>

  71. <artifactId>spring-tx</artifactId>

  72. <version>${spring.version}</version>

  73. </dependency>

  74. <dependency>

  75. <groupId>org.springframework</groupId>

  76. <artifactId>spring-jdbc</artifactId>

  77. <version>${spring.version}</version>

  78. </dependency>

  79. <dependency>

  80. <groupId>org.springframework</groupId>

  81. <artifactId>spring-webmvc</artifactId>

  82. <version>${spring.version}</version>

  83. </dependency>

  84. <dependency>

  85. <groupId>org.springframework</groupId>

  86. <artifactId>spring-context</artifactId>

  87. <version>${spring.version}</version>

  88. </dependency>

  89. <dependency>

  90. <groupId>org.springframework</groupId>

  91. <artifactId>spring-context-support</artifactId>

  92. <version>${spring.version}</version>

  93. </dependency>

  94. <dependency>

  95. <groupId>org.springframework</groupId>

  96. <artifactId>spring-aop</artifactId>

  97. <version>${spring.version}</version>

  98. </dependency>

  99.  
  100. <dependency>

  101. <groupId>org.springframework</groupId>

  102. <artifactId>spring-test</artifactId>

  103. <version>${spring.version}</version>

  104. </dependency>

  105.  
  106. <!-- 添加mybatis依赖 -->

  107. <dependency>

  108. <groupId>org.mybatis</groupId>

  109. <artifactId>mybatis</artifactId>

  110. <version>${mybatis.version}</version>

  111. </dependency>

  112.  
  113. <!-- 添加mybatis/spring整合包依赖 -->

  114. <dependency>

  115. <groupId>org.mybatis</groupId>

  116. <artifactId>mybatis-spring</artifactId>

  117. <version>1.2.2</version>

  118. </dependency>

  119.  
  120. <!-- 添加mysql驱动依赖 -->

  121. <dependency>

  122. <groupId>mysql</groupId>

  123. <artifactId>mysql-connector-java</artifactId>

  124. <version>${mysql-driver.version}</version>

  125. </dependency>

  126. <!-- 添加数据库连接池依赖 -->

  127. <dependency>

  128. <groupId>commons-dbcp</groupId>

  129. <artifactId>commons-dbcp</artifactId>

  130. <version>1.2.2</version>

  131. </dependency>

  132.  
  133. <!-- 添加fastjson -->

  134. <dependency>

  135. <groupId>com.alibaba</groupId>

  136. <artifactId>fastjson</artifactId>

  137. <version>1.1.41</version>

  138. </dependency>

  139.  
  140. <!-- 添加日志相关jar包 -->

  141. <dependency>

  142. <groupId>log4j</groupId>

  143. <artifactId>log4j</artifactId>

  144. <version>${log4j.version}</version>

  145. </dependency>

  146. <dependency>

  147. <groupId>org.slf4j</groupId>

  148. <artifactId>slf4j-api</artifactId>

  149. <version>${slf4j.version}</version>

  150. </dependency>

  151. <dependency>

  152. <groupId>org.slf4j</groupId>

  153. <artifactId>slf4j-log4j12</artifactId>

  154. <version>${slf4j.version}</version>

  155. </dependency>

  156.  
  157. <!-- log end -->

  158. <!-- 映入JSON -->

  159. <dependency>

  160. <groupId>org.codehaus.jackson</groupId>

  161. <artifactId>jackson-mapper-asl</artifactId>

  162. <version>1.9.13</version>

  163. </dependency>

  164. <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core -->

  165. <dependency>

  166. <groupId>com.fasterxml.jackson.core</groupId>

  167. <artifactId>jackson-core</artifactId>

  168. <version>2.8.0</version>

  169. </dependency>

  170. <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->

  171. <dependency>

  172. <groupId>com.fasterxml.jackson.core</groupId>

  173. <artifactId>jackson-databind</artifactId>

  174. <version>2.8.0</version>

  175. </dependency>

  176.  
  177. <dependency>

  178. <groupId>commons-fileupload</groupId>

  179. <artifactId>commons-fileupload</artifactId>

  180. <version>1.3.1</version>

  181. </dependency>

  182.  
  183. <dependency>

  184. <groupId>commons-io</groupId>

  185. <artifactId>commons-io</artifactId>

  186. <version>2.4</version>

  187. </dependency>

  188.  
  189. <dependency>

  190. <groupId>commons-codec</groupId>

  191. <artifactId>commons-codec</artifactId>

  192. <version>1.9</version>

  193. </dependency>

  194. </dependencies>

  195.  
  196.  
  197. <build>

  198. <finalName>web-bian</finalName>

  199. </build>

  200. </project>

设置成功

(4)     spring配置文件设置:

 

4.1  jdbc.properties配置:

 

 
  1. driverClasss=com.mysql.jdbc.Driver

  2.  
  3. jdbcUrl=jdbc:mysql://192.168.1.102:3306/netInfoPlatform?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull

  4.  
  5. username=root

  6.  
  7. password=123456

  8.  
  9.  
  10.  
  11. #定义初始连接数

  12.  
  13. initialSize=0

  14.  
  15. #定义最大连接数

  16.  
  17. maxActive=20

  18.  
  19. #定义最大空闲

  20.  
  21. maxIdle=20

  22.  
  23. #定义最小空闲

  24.  
  25. minIdle=1

  26.  
  27. #定义最长等待时间

  28.  
  29. maxWait=60000

4.2  log4j.properties配置:

 
  1. log4j.rootLogger=INFO,Console,File

  2.  
  3.  
  4.  
  5. #控制台日志

  6.  
  7. log4j.appender.Console=org.apache.log4j.ConsoleAppender

  8.  
  9. log4j.appender.Console.Target=System.out

  10.  
  11. log4j.appender.Console.layout=org.apache.log4j.PatternLayout

  12.  
  13. log4j.appender.Console.layout.ConversionPattern=[%p][%t][%d{yyyy-MM-dd HH\:mm\:ss}][%C] - %m%n

  14.  
  15.  
  16.  
  17. #普通文件日志

  18.  
  19. log4j.appender.File=org.apache.log4j.RollingFileAppender

  20.  
  21. log4j.appender.File.File=logs/ssm.log

  22.  
  23. log4j.appender.File.MaxFileSize=10MB

  24.  
  25. #输出日志,如果换成DEBUG表示输出DEBUG以上级别日志

  26.  
  27. log4j.appender.File.Threshold=ALL

  28.  
  29. log4j.appender.File.layout=org.apache.log4j.PatternLayout

  30.  
  31. log4j.appender.File.layout.ConversionPattern=[%p][%t][%d{yyyy-MM-dd HH\:mm\:ss}][%C] - %m%n

4.3  spring-mvc配置:

 
  1. <?xml version="1.0" encoding="UTF-8"?>

  2.  
  3. <beans xmlns="http://www.springframework.org/schema/beans"

  4.  
  5. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"

  6.  
  7. xmlns:context="http://www.springframework.org/schema/context"

  8.  
  9. xmlns:mvc="http://www.springframework.org/schema/mvc"

  10.  
  11. xsi:schemaLocation="http://www.springframework.org/schema/beans

  12.  
  13. http://www.springframework.org/schema/beans/spring-beans-4.0.xsd

  14.  
  15. http://www.springframework.org/schema/context

  16.  
  17. http://www.springframework.org/schema/context/spring-context-4.0.xsd

  18.  
  19. http://www.springframework.org/schema/mvc

  20.  
  21. http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">

  22.  
  23.  
  24.  
  25. <!-- 自动扫描 @Controller-->

  26.  
  27. <context:component-scan base-package="com.fzu.edu.controller"/>

  28.  
  29.  
  30.  
  31. <!--避免IE执行AJAX时,返回JSON出现下载文件 -->

  32.  
  33. <bean id="mappingJacksonHttpMessageConverter"

  34.  
  35. class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">

  36.  
  37. <property name="supportedMediaTypes">

  38.  
  39. <list>

  40.  
  41. <value>text/html;charset=UTF-8</value>

  42.  
  43. </list>

  44.  
  45. </property>

  46.  
  47. </bean>

  48.  
  49. <!-- 启动SpringMVC的注解功能,完成请求和注解POJO的映射 -->

  50.  
  51. <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">

  52.  
  53. <property name="messageConverters">

  54.  
  55. <list>

  56.  
  57. <ref bean="mappingJacksonHttpMessageConverter"/> <!-- JSON转换器 -->

  58.  
  59. </list>

  60.  
  61. </property>

  62.  
  63. </bean>

  64.  
  65.  
  66.  
  67.  
  68.  
  69. <!-- 定义跳转的文件的前后缀 ,视图模式配置 -->

  70.  
  71. <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">

  72.  
  73. <property name="prefix" value="/WEB-INF/jsp/" />

  74.  
  75. <property name="suffix" value=".jsp"/>

  76.  
  77. </bean>

  78.  
  79.  
  80.  
  81. <!-- 文件上传配置 -->

  82.  
  83. <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">

  84.  
  85. <!-- 默认编码 -->

  86.  
  87. <property name="defaultEncoding" value="UTF-8"/>

  88.  
  89. <!-- 上传文件大小限制为31M,31*1024*1024 -->

  90.  
  91. <property name="maxUploadSize" value="32505856"/>

  92.  
  93. <!-- 内存中的最大值 -->

  94.  
  95. <property name="maxInMemorySize" value="4096"/>

  96.  
  97. </bean>

  98.  
  99. </beans>

4.4  spring-mybatis配置:

 

 
  1. <?xml version="1.0" encoding="UTF-8"?>

  2.  
  3. <beans xmlns="http://www.springframework.org/schema/beans"

  4.  
  5. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

  6.  
  7. xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"

  8.  
  9. xsi:schemaLocation="http://www.springframework.org/schema/beans

  10.  
  11. http://www.springframework.org/schema/beans/spring-beans-3.1.xsd

  12.  
  13. http://www.springframework.org/schema/context

  14.  
  15. http://www.springframework.org/schema/context/spring-context-3.1.xsd

  16.  
  17. http://www.springframework.org/schema/tx

  18.  
  19. http://www.springframework.org/schema/tx/spring-tx.xsd">

  20.  
  21.  
  22.  
  23. <!-- 自动扫描 -->

  24.  
  25. <context:component-scan base-package="com.fzu.edu"/>

  26.  
  27.  
  28.  
  29. <!-- 第一种方式:加载一个properties文件 -->

  30.  
  31. <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">

  32.  
  33. <property name="location" value="classpath:jdbc.properties"/>

  34.  
  35. </bean>

  36.  
  37.  
  38.  
  39.  
  40.  
  41. <!-- 第二种方式:加载多个properties文件

  42.  
  43. <bean id="configProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">

  44.  
  45. <property name="locations">

  46.  
  47. <list>

  48.  
  49. <value>classpath:jdbc.properties</value>

  50.  
  51. <value>classpath:common.properties</value>

  52.  
  53. </list>

  54.  
  55. </property>

  56.  
  57. <property name="fileEncoding" value="UTF-8"/>

  58.  
  59. </bean>

  60.  
  61. <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PreferencesPlaceholderConfigurer">

  62.  
  63. <property name="properties" ref="configProperties"/>

  64.  
  65. </bean>

  66.  
  67. -->

  68.  
  69.  
  70.  
  71. <!-- 配置数据源 -->

  72.  
  73. <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"

  74.  
  75. destroy-method="close">

  76.  
  77. <property name="driverClassName" value="${driverClasss}"/>

  78.  
  79. <property name="url" value="${jdbcUrl}"/>

  80.  
  81. <property name="username" value="${username}"/>

  82.  
  83. <property name="password" value="${password}"/>

  84.  
  85. <!-- 初始化连接大小 -->

  86.  
  87. <property name="initialSize" value="${initialSize}"></property>

  88.  
  89. <!-- 连接池最大数量 -->

  90.  
  91. <property name="maxActive" value="${maxActive}"></property>

  92.  
  93. <!-- 连接池最大空闲 -->

  94.  
  95. <property name="maxIdle" value="${maxIdle}"></property>

  96.  
  97. <!-- 连接池最小空闲 -->

  98.  
  99. <property name="minIdle" value="${minIdle}"></property>

  100.  
  101. <!-- 获取连接最大等待时间 -->

  102.  
  103. <property name="maxWait" value="${maxWait}"></property>

  104.  
  105. </bean>

  106.  
  107.  
  108.  
  109. <!-- mybatis和spring完美整合,不需要mybatis的配置映射文件 -->

  110.  
  111. <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">

  112.  
  113. <property name="dataSource" ref="dataSource"/>

  114.  
  115. <!-- 自动扫描mapping.xml文件 -->

  116.  
  117. <property name="mapperLocations" value="classpath:mapping/*.xml"></property>

  118.  
  119. </bean>

  120.  
  121.  
  122.  
  123. <!-- DAO接口所在包名,Spring会自动查找其下的类 -->

  124.  
  125. <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">

  126.  
  127. <property name="basePackage" value="com.fzu.edu.dao"/>

  128.  
  129. <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>

  130.  
  131. </bean>

  132.  
  133.  
  134.  
  135.  
  136.  
  137. <!-- (事务管理)transaction manager, use JtaTransactionManager for global tx -->

  138.  
  139. <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">

  140.  
  141. <property name="dataSource" ref="dataSource"/>

  142.  
  143. </bean>

  144.  
  145.  
  146.  
  147. <!-- (事务管理)transaction manager, use JtaTransactionManager for global tx -->

  148.  
  149. <tx:annotation-driven transaction-manager="transactionManager"/>

  150.  
  151. </beans>

(5)     MVC框架设置

5.1  M层:用于放类比如User类

 

5.2  Dao层:是链接数据库的接口层

 

5.3  Service层:是控制层与Dao层之间的桥梁,主要用于逻辑的编写

 

5.4  控制层:是前段与后台的连接口

 

(6)     jdk设置

 

(7)     tomcat设置

 

 

(8)     数据库设置:本案例以mysql为例

mysql搭建过程:自行百度

 

参考博客   https://blog.csdn.net/qq_29976261/article/details/80541033

猜你喜欢

转载自blog.csdn.net/ShyTan/article/details/82262026