使用Eclipse 创建maven项目搭建ssm框架

比眉伴天荒 2022-05-22 09:05 338阅读 0赞

一:整体项目结构图

70

二:创建maven项目

70 1

70 2

三:pom.xml配置

  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  2. <modelVersion>4.0.0</modelVersion>
  3. <groupId>com.chy</groupId>
  4. <artifactId>aaa</artifactId>
  5. <version>0.0.1-SNAPSHOT</version>
  6. <packaging>war</packaging>
  7. <properties>
  8. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  9. <java.verison>1.8</java.verison>
  10. <mybatis.version>3.2.7</mybatis.version>
  11. <junit.version>4.11</junit.version>
  12. <slf4j.version>1.7.7</slf4j.version>
  13. <logback.version>1.1.2</logback.version>
  14. <spring.version>4.1.0.RELEASE</spring.version>
  15. <jackson.version>2.5.1</jackson.version>
  16. <guava.version>17.0</guava.version>
  17. <spymemcached.version>2.11.2</spymemcached.version>
  18. <commons-io.version>2.4</commons-io.version>
  19. <apache.httpclient>4.3.6</apache.httpclient>
  20. <aspectjweaver.version>1.8.4</aspectjweaver.version>
  21. </properties>
  22. <dependencies>
  23. <!-- Spring -->
  24. <dependency>
  25. <groupId>org.springframework</groupId>
  26. <artifactId>spring-context</artifactId>
  27. <version>${spring.version}</version>
  28. </dependency>
  29. <dependency>
  30. <groupId>org.springframework</groupId>
  31. <artifactId>spring-web</artifactId>
  32. <version>${spring.version}</version>
  33. </dependency>
  34. <dependency>
  35. <groupId>org.springframework</groupId>
  36. <artifactId>spring-oxm</artifactId>
  37. <version>${spring.version}</version>
  38. </dependency>
  39. <dependency>
  40. <groupId>org.springframework</groupId>
  41. <artifactId>spring-tx</artifactId>
  42. <version>${spring.version}</version>
  43. </dependency>
  44. <dependency>
  45. <groupId>org.springframework</groupId>
  46. <artifactId>spring-jdbc</artifactId>
  47. <version>${spring.version}</version>
  48. </dependency>
  49. <dependency>
  50. <groupId>org.springframework</groupId>
  51. <artifactId>spring-webmvc</artifactId>
  52. <version>${spring.version}</version>
  53. </dependency>
  54. <dependency>
  55. <groupId>org.springframework</groupId>
  56. <artifactId>spring-context-support</artifactId>
  57. <version>${spring.version}</version>
  58. </dependency>
  59. <!-- 把 Java 对象转换成 JSON 字串 l4.1.0以上用 -->
  60. <dependency>
  61. <groupId>com.fasterxml.jackson.core</groupId>
  62. <artifactId>jackson-databind</artifactId>
  63. <version>${jackson.version}</version>
  64. </dependency>
  65. <!-- mybati -->
  66. <dependency>
  67. <groupId>org.mybatis</groupId>
  68. <artifactId>mybatis</artifactId>
  69. <version>${mybatis.version}</version>
  70. </dependency>
  71. <!-- mybatis/spring包 -->
  72. <dependency>
  73. <groupId>org.mybatis</groupId>
  74. <artifactId>mybatis-spring</artifactId>
  75. <version>1.2.2</version>
  76. </dependency>
  77. <dependency>
  78. <groupId>mysql</groupId>
  79. <artifactId>mysql-connector-java</artifactId>
  80. <version>5.1.33</version>
  81. </dependency>
  82. <dependency>
  83. <groupId>org.apache.commons</groupId>
  84. <artifactId>commons-lang3</artifactId>
  85. <version>3.3.2</version>
  86. </dependency>
  87. <dependency>
  88. <groupId>commons-beanutils</groupId>
  89. <artifactId>commons-beanutils</artifactId>
  90. <version>1.9.2</version>
  91. <exclusions>
  92. <exclusion>
  93. <groupId>commons-logging</groupId>
  94. <artifactId>commons-logging</artifactId>
  95. </exclusion>
  96. </exclusions>
  97. </dependency>
  98. <dependency>
  99. <groupId>commons-io</groupId>
  100. <artifactId>commons-io</artifactId>
  101. <version>${commons-io.version}</version>
  102. </dependency>
  103. <dependency>
  104. <groupId>commons-codec</groupId>
  105. <artifactId>commons-codec</artifactId>
  106. <version>1.9</version>
  107. </dependency>
  108. <dependency>
  109. <groupId>commons-net</groupId>
  110. <artifactId>commons-net</artifactId>
  111. <version>3.3</version>
  112. </dependency>
  113. <dependency>
  114. <groupId>commons-pool</groupId>
  115. <artifactId>commons-pool</artifactId>
  116. <version>20030825.183949</version>
  117. </dependency>
  118. <dependency>
  119. <groupId>commons-dbcp</groupId>
  120. <artifactId>commons-dbcp</artifactId>
  121. <version>20030825.184428</version>
  122. </dependency>
  123. <dependency>
  124. <groupId>com.alibaba</groupId>
  125. <artifactId>druid</artifactId>
  126. <version>1.1.8</version>
  127. </dependency>
  128. <dependency>
  129. <groupId>commons-fileupload</groupId>
  130. <artifactId>commons-fileupload</artifactId>
  131. <version>1.2.2</version>
  132. </dependency>
  133. <dependency>
  134. <groupId>log4j</groupId>
  135. <artifactId>log4j</artifactId>
  136. <version>1.2.14</version>
  137. </dependency>
  138. <dependency>
  139. <groupId>org.aspectj</groupId>
  140. <artifactId>aspectjweaver</artifactId>
  141. <version>${aspectjweaver.version}</version>
  142. </dependency>
  143. <dependency>
  144. <groupId>cglib</groupId>
  145. <artifactId>cglib</artifactId>
  146. <version>3.1</version>
  147. </dependency>
  148. <dependency>
  149. <groupId>javax.servlet</groupId>
  150. <artifactId>javax.servlet-api</artifactId>
  151. <version>3.1.0</version>
  152. <scope>compile</scope>
  153. </dependency>
  154. <dependency>
  155. <groupId>javax.servlet.jsp</groupId>
  156. <artifactId>jsp-api</artifactId>
  157. <version>2.2.1-b03</version>
  158. <scope>provided</scope>
  159. </dependency>
  160. <dependency>
  161. <groupId>javax.servlet</groupId>
  162. <artifactId>jstl</artifactId>
  163. <version>1.2</version>
  164. </dependency>
  165. <!-- junit TEST -->
  166. <dependency>
  167. <groupId>junit</groupId>
  168. <artifactId>junit</artifactId>
  169. <version>${junit.version}</version>
  170. <scope>test</scope>
  171. </dependency>
  172. <!-- freemarker -->
  173. <dependency>
  174. <groupId>freemarker</groupId>
  175. <artifactId>freemarker</artifactId>
  176. <version>2.3.8</version>
  177. </dependency>
  178. <dependency>
  179. <groupId>org.apache.maven.plugins</groupId>
  180. <artifactId>maven-resources-plugin</artifactId>
  181. <version>2.4.3</version>
  182. </dependency>
  183. <!-- poi -->
  184. <dependency>
  185. <groupId>org.apache.poi</groupId>
  186. <artifactId>poi</artifactId>
  187. <version>3.16</version>
  188. </dependency>
  189. <dependency>
  190. <groupId>org.apache.poi</groupId>
  191. <artifactId>poi-ooxml</artifactId>
  192. <version>3.16</version>
  193. </dependency>
  194. </dependencies>
  195. <build>
  196. <plugins>
  197. <plugin>
  198. <!-- 编译jdk插件 -->
  199. <groupId>org.apache.maven.plugins</groupId>
  200. <artifactId>maven-compiler-plugin</artifactId>
  201. <version>2.3.2</version>
  202. <configuration>
  203. <source>${java.verison}</source>
  204. <target>${java.verison}</target>
  205. </configuration>
  206. </plugin>
  207. </plugins>
  208. </build>
  209. </project>

四:配置web.xml

生成web.xml(如下图)

70 3

70 4

配置文件内容

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <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">
  3. <display-name>aaa</display-name>
  4. <welcome-file-list>
  5. <welcome-file>index.html</welcome-file>
  6. <welcome-file>index.htm</welcome-file>
  7. <welcome-file>index.jsp</welcome-file>
  8. <welcome-file>default.html</welcome-file>
  9. <welcome-file>default.htm</welcome-file>
  10. <welcome-file>default.jsp</welcome-file>
  11. </welcome-file-list>
  12. <!-- 加载spring核心配置文件 -->
  13. <context-param>
  14. <param-name>contextConfigLocation</param-name>
  15. <param-value>classpath:spring/spring-context.xml</param-value>
  16. </context-param>
  17. <!-- 编码过滤器只对post请求有效 -->
  18. <filter>
  19. <filter-name>CharacterEncodingFilter</filter-name>
  20. <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
  21. <init-param>
  22. <param-name>encoding</param-name>
  23. <param-value>utf-8</param-value>
  24. </init-param>
  25. </filter>
  26. <filter-mapping>
  27. <filter-name>CharacterEncodingFilter</filter-name>
  28. <url-pattern>/*</url-pattern>
  29. </filter-mapping>
  30. <!-- spring监听 -->
  31. <listener>
  32. <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  33. </listener>
  34. <!-- springmvc的核心控制器 -->
  35. <servlet>
  36. <servlet-name>dispatcherServlet</servlet-name>
  37. <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  38. <init-param>
  39. <description>spring mvc 配置文件</description>
  40. <param-name>contextConfigLocation</param-name>
  41. <param-value>classpath:spring/spring-mvc.xml</param-value>
  42. </init-param>
  43. <load-on-startup>1</load-on-startup>
  44. </servlet>
  45. <servlet-mapping>
  46. <servlet-name>dispatcherServlet</servlet-name>
  47. <url-pattern>*.action</url-pattern>
  48. </servlet-mapping>
  49. <!-- log4j的配置文件 -->
  50. <context-param>
  51. <param-name>log4jConfigLocation</param-name>
  52. <param-value>classpath:config/log4j.properties</param-value>
  53. </context-param>
  54. <context-param>
  55. <param-name>log4jRefreshInterval</param-name>
  56. <param-value>6000</param-value>
  57. </context-param>
  58. <listener>
  59. <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
  60. </listener>
  61. <!-- 首页 -->
  62. </web-app>

五:在resources进行配置

70 5

jdbc.properties配置

  1. jdbc.driverClassName=com.mysql.jdbc.Driver
  2. jdbc.url=jdbc:mysql://localhost:3306/aaa
  3. jdbc.username=root
  4. jdbc.password=root

log4j.properties(日志配置)

  1. # Global logging configuration
  2. log4j.rootLogger=DEBUG,stdout
  3. log4j.logger.com.iss=DEBUG,file,sql_html
  4. log4j.logger.com.isoftstone=DEBUG,file,sql_html
  5. log4j.logger.com.jolbox=ERROR,file,sql_html
  6. log4j.logger.org.apache.axis=ERROR,file,sql_html
  7. # SqlMap logging configuration...
  8. log4j.logger.java.sql.Connection=ERROR
  9. log4j.logger.java.sql.Statement=INFO
  10. log4j.logger.java.sql.PreparedStatement=INFO
  11. log4j.logger.java.sql.ResultSet=ERROR
  12. # Console output...
  13. log4j.appender.stdout=org.apache.log4j.ConsoleAppender
  14. log4j.appender.stdout.Threshold=DEBUG
  15. log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
  16. log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n
  17. log4j.appender.stdout.Target=System.out
  18. ##########################
  19. #log4j.appender.stdout.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
  20. #log4j.appender.stdout.layout.ConversionPattern=[start]%d{DATE}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD] n%c[CATEGORY]%n%m[MESSAGE]%n%n
  21. # File output by days...
  22. log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
  23. log4j.appender.file.Threshold=DEBUG
  24. log4j.appender.file.file=${catalina.base}/logs/yymgc-base.log
  25. log4j.appender.file.MaxFileSize=20000KB
  26. log4j.appender.file.DatePattern='.'yyyy-MM-dd
  27. log4j.appender.file.layout=org.apache.log4j.PatternLayout
  28. log4j.appender.file.layout.ConversionPattern=%d %p [%c] - %m%n
  29. # HTML output...
  30. log4j.appender.sql_html=org.apache.log4j.RollingFileAppender
  31. log4j.appender.sql_html.Threshold=DEBUG
  32. log4j.appender.sql_html.file=${catalina.base}/logs/yymgc-base.html
  33. log4j.appender.sql_html.MaxFileSize=5000KB
  34. log4j.appender.sql_html.MaxBackupIndex=1
  35. log4j.appender.sql_html.layout=org.apache.log4j.HTMLLayout
  36. #log4j.appender.sql_html.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %p [%c] - %m%n

六:springmvc的配置

spring-context.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" xmlns:p="http://www.springframework.org/schema/p"
  4. xmlns:context="http://www.springframework.org/schema/context"
  5. xmlns:aop="http://www.springframework.org/schema/aop"
  6. xmlns:mvc="http://www.springframework.org/schema/mvc"
  7. xmlns:util="http://www.springframework.org/schema/util"
  8. xmlns:tx="http://www.springframework.org/schema/tx"
  9. xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
  10. http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd
  11. http://www.springframework.org/schema/util
  12. http://www.springframework.org/schema/util/spring-util-4.1.xsd
  13. http://www.springframework.org/schema/tx
  14. http://www.springframework.org/schema/tx/spring-tx-4.1.xsd
  15. http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd
  16. http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.1.xsd">
  17. <context:property-placeholder location="classpath:config/jdbc.properties" />
  18. <!-- 阿里 druid数据库连接池 -->
  19. <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" destroy-method="close">
  20. <property name="driverClassName" value="${jdbc.driverClassName}"></property>
  21. <property name="url" value="${jdbc.url}?characterEncoding=utf-8"></property>
  22. <property name="username" value="${jdbc.username}"/>
  23. <property name="password" value="${jdbc.password}"/>
  24. <!-- 初始化连接大小 -->
  25. <property name="initialSize" value="10"/>
  26. <!-- 连接池最大使用连接数量 -->
  27. <property name="maxActive" value="100"/>
  28. <!-- 连接池最大空闲 -->
  29. <property name="maxIdle" value="20"/>
  30. <!-- 连接池最小空闲 -->
  31. <property name="minIdle" value="10"/>
  32. <!-- 获取连接最大等待时间 -->
  33. <property name="maxWait" value="60000"/>
  34. <property name="validationQuery" value="${validationQuery}"/>
  35. <property name="testOnBorrow" value="false"/>
  36. <property name="testOnReturn" value="false"/>
  37. <property name="testWhileIdle" value="true"/>
  38. <!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
  39. <property name="timeBetweenEvictionRunsMillis" value="60000"/>
  40. <!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->
  41. <property name="minEvictableIdleTimeMillis" value="25200000"/>
  42. <!-- 打开removeAbandoned功能 -->
  43. <property name="removeAbandoned" value="true"/>
  44. <!-- 1800秒,也就是30分钟 -->
  45. <property name="removeAbandonedTimeout" value="1800"/>
  46. <!-- 关闭abanded连接时输出错误日志 -->
  47. <property name="logAbandoned" value="true"/>
  48. <!-- 监控数据库 -->
  49. <!-- <property name="filters" value="stat" /> -->
  50. <property name="filters" value="mergeStat"/>
  51. </bean>
  52. <!-- 事务管理 -->
  53. <bean id="transactionManager"
  54. class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
  55. <property name="dataSource" ref="dataSource" />
  56. </bean>
  57. <!-- 注解事务
  58. <tx:annotation-driven transaction-manager="transactionManager" />
  59. -->
  60. <!-- 声明事务 -->
  61. <tx:advice id="txAdvice" transaction-manager="transactionManager">
  62. <tx:attributes>
  63. <tx:method name="delete*" propagation="REQUIRED" read-only="false" rollback-for="java.lang.Exception"/>
  64. <tx:method name="edit*" propagation="REQUIRED" read-only="false" rollback-for="java.lang.Exception"/>
  65. <tx:method name="insert*" propagation="REQUIRED" read-only="false" rollback-for="java.lang.Exception" />
  66. <tx:method name="update*" propagation="REQUIRED" read-only="false" rollback-for="java.lang.Exception" />
  67. <tx:method name="save*" propagation="REQUIRED" read-only="false" rollback-for="java.lang.Exception" />
  68. <tx:method name="*" propagation="REQUIRED" read-only="true"/>
  69. </tx:attributes>
  70. </tx:advice>
  71. <aop:config>
  72. <aop:pointcut id="txPointcut" expression="execution(* com.chy.service.impl.*.*(..))" />
  73. <aop:advisor pointcut-ref="txPointcut" advice-ref="txAdvice" />
  74. </aop:config>
  75. <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
  76. <property name="dataSource" ref="dataSource" />
  77. </bean>
  78. <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
  79. <property name="basePackage" value="com.chy.dao" />
  80. </bean>
  81. </beans>

spring-mvc.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:p="http://www.springframework.org/schema/p"
  5. xmlns:context="http://www.springframework.org/schema/context"
  6. xmlns:aop="http://www.springframework.org/schema/aop"
  7. xmlns:mvc="http://www.springframework.org/schema/mvc"
  8. xmlns:util="http://www.springframework.org/schema/util"
  9. xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
  10. http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
  11. http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd
  12. http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
  13. http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">
  14. <context:component-scan base-package="com.chy" />
  15. <!-- mvc注解 -->
  16. <mvc:annotation-driven />
  17. <!-- jsp解析 -->
  18. <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:prefix="/WEB-INF/" p:suffix=".jsp" />
  19. <!-- spring的上传解析器 -->
  20. <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
  21. <property name="maxUploadSize" value="5400000" />
  22. <property name="defaultEncoding" value="utf-8"></property>
  23. </bean>
  24. <!-- 拦截器-->
  25. <mvc:interceptors>
  26. <bean class="com.chy.utils.SystemInterceptor" />
  27. </mvc:interceptors>
  28. </beans>

搭建完成

发表评论

表情:
评论列表 (有 0 条评论,338人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Maven+SSM项目

    最近再做一个项目,需要用到maven 和 SSM搭建项目,这里记录一下,搭建的全过程,也踩了好多坑,做个记录。 这里是项目的地址: [https://pan.baidu.co