经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » Java相关 » Java » 查看文章
分布式项目--后台管理系统工程搭建
来源:cnblogs  作者:Cryptonym  时间:2018/11/9 11:24:04  对本文有异议

1.主要技术以及软件

SSM、Redis、Solr、Mysql、Nginx、Intellij、Maven、Tomcat、SVN

2.MAVEN

MAVEN中有三种工程类型:

  1. pom工程:用在父级工程或聚合工程中。用来做jar包的版本控制。
  2. war工程:将会打包成war,发布在服务器上的工程。如网站或服务。
  3. jar工程:将会打包成jar用作jar包使用。

3.后台管理系统工程搭建

后台管理系统的工程结构如下,其中parent为父工程,common,manager,pojo,mapper,service,web几个工程之间有依赖关系,如下图中的箭头所示

 

父工程应该是一个pom工程。在父工程中定义依赖的jar包的版本信息以及maven插件的版本。

3.1创建父工程

打开IDEA(Interllij idea),通过MAVEN创建一个新的工程。点击 File->New->Project.进入选择页面

然后选择左侧的maven,选择jdk版本,next

填写好 GroupId、ArtifactId、Version 并选择好项目目录后点击 next。

选择好工作路径之后,点击finish,到此,父工程就已创建完成了。

修改工程pom.xml文件

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0"
  3. 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.0</modelVersion>
  6.  
  7. <groupId>com.taotao</groupId>
  8. <artifactId>taotao-parent</artifactId>
  9. <packaging>pom</packaging>
  10. <version>1.0-SNAPSHOT</version>
  11. <modules>
  12. <module>taotaocommon</module>
  13. <module>taotaomanager</module>
  14. </modules>
  15.  
  16. <!-- 集中定义依赖版本号 -->
  17. <properties>
  18. <junit.version>4.12</junit.version>
  19. <spring.version>4.1.3.RELEASE</spring.version>
  20. <mybatis.version>3.2.8</mybatis.version>
  21. <mybatis.spring.version>1.2.2</mybatis.spring.version>
  22. <mybatis.paginator.version>1.2.15</mybatis.paginator.version>
  23. <mysql.version>5.1.32</mysql.version>
  24. <slf4j.version>1.6.4</slf4j.version>
  25. <jackson.version>2.4.2</jackson.version>
  26. <druid.version>1.0.9</druid.version>
  27. <httpclient.version>4.3.5</httpclient.version>
  28. <jstl.version>1.2</jstl.version>
  29. <servlet-api.version>2.5</servlet-api.version>
  30. <jsp-api.version>2.0</jsp-api.version>
  31. <joda-time.version>2.5</joda-time.version>
  32. <commons-lang3.version>3.3.2</commons-lang3.version>
  33. <commons-io.version>1.3.2</commons-io.version>
  34. <commons-net.version>3.3</commons-net.version>
  35. <pagehelper.version>3.4.2-fix</pagehelper.version>
  36. <jsqlparser.version>0.9.1</jsqlparser.version>
  37. <commons-fileupload.version>1.3.1</commons-fileupload.version>
  38. <jedis.version>2.7.2</jedis.version>
  39. <solrj.version>4.10.3</solrj.version>
  40. </properties>
  41. <!-- 只定义依赖的版本,并不实际依赖 -->
  42. <dependencyManagement>
  43. <dependencies>
  44. <!-- 时间操作组件 -->
  45. <dependency>
  46. <groupId>joda-time</groupId>
  47. <artifactId>joda-time</artifactId>
  48. <version>${joda-time.version}</version>
  49. </dependency>
  50. <!-- Apache工具组件 -->
  51. <dependency>
  52. <groupId>org.apache.commons</groupId>
  53. <artifactId>commons-lang3</artifactId>
  54. <version>${commons-lang3.version}</version>
  55. </dependency>
  56. <dependency>
  57. <groupId>org.apache.commons</groupId>
  58. <artifactId>commons-io</artifactId>
  59. <version>${commons-io.version}</version>
  60. </dependency>
  61. <dependency>
  62. <groupId>commons-net</groupId>
  63. <artifactId>commons-net</artifactId>
  64. <version>${commons-net.version}</version>
  65. </dependency>
  66. <!-- Jackson Json处理工具包 -->
  67. <dependency>
  68. <groupId>com.fasterxml.jackson.core</groupId>
  69. <artifactId>jackson-databind</artifactId>
  70. <version>${jackson.version}</version>
  71. </dependency>
  72. <!-- httpclient -->
  73. <dependency>
  74. <groupId>org.apache.httpcomponents</groupId>
  75. <artifactId>httpclient</artifactId>
  76. <version>${httpclient.version}</version>
  77. </dependency>
  78. <!-- 单元测试 -->
  79. <dependency>
  80. <groupId>junit</groupId>
  81. <artifactId>junit</artifactId>
  82. <version>${junit.version}</version>
  83. <scope>test</scope>
  84. </dependency>
  85. <!-- 日志处理 -->
  86. <dependency>
  87. <groupId>org.slf4j</groupId>
  88. <artifactId>slf4j-log4j12</artifactId>
  89. <version>${slf4j.version}</version>
  90. </dependency>
  91. <!-- Mybatis -->
  92. <dependency>
  93. <groupId>org.mybatis</groupId>
  94. <artifactId>mybatis</artifactId>
  95. <version>${mybatis.version}</version>
  96. </dependency>
  97. <dependency>
  98. <groupId>org.mybatis</groupId>
  99. <artifactId>mybatis-spring</artifactId>
  100. <version>${mybatis.spring.version}</version>
  101. </dependency>
  102. <dependency>
  103. <groupId>com.github.miemiedev</groupId>
  104. <artifactId>mybatis-paginator</artifactId>
  105. <version>${mybatis.paginator.version}</version>
  106. </dependency>
  107. <dependency>
  108. <groupId>com.github.pagehelper</groupId>
  109. <artifactId>pagehelper</artifactId>
  110. <version>${pagehelper.version}</version>
  111. </dependency>
  112. <!-- MySql -->
  113. <dependency>
  114. <groupId>mysql</groupId>
  115. <artifactId>mysql-connector-java</artifactId>
  116. <version>${mysql.version}</version>
  117. </dependency>
  118. <!-- 连接池 -->
  119. <dependency>
  120. <groupId>com.alibaba</groupId>
  121. <artifactId>druid</artifactId>
  122. <version>${druid.version}</version>
  123. </dependency>
  124. <!-- Spring -->
  125. <dependency>
  126. <groupId>org.springframework</groupId>
  127. <artifactId>spring-context</artifactId>
  128. <version>${spring.version}</version>
  129. </dependency>
  130. <dependency>
  131. <groupId>org.springframework</groupId>
  132. <artifactId>spring-beans</artifactId>
  133. <version>${spring.version}</version>
  134. </dependency>
  135. <dependency>
  136. <groupId>org.springframework</groupId>
  137. <artifactId>spring-webmvc</artifactId>
  138. <version>${spring.version}</version>
  139. </dependency>
  140. <dependency>
  141. <groupId>org.springframework</groupId>
  142. <artifactId>spring-jdbc</artifactId>
  143. <version>${spring.version}</version>
  144. </dependency>
  145. <dependency>
  146. <groupId>org.springframework</groupId>
  147. <artifactId>spring-aspects</artifactId>
  148. <version>${spring.version}</version>
  149. </dependency>
  150. <!-- JSP相关 -->
  151. <dependency>
  152. <groupId>jstl</groupId>
  153. <artifactId>jstl</artifactId>
  154. <version>${jstl.version}</version>
  155. </dependency>
  156. <dependency>
  157. <groupId>javax.servlet</groupId>
  158. <artifactId>servlet-api</artifactId>
  159. <version>${servlet-api.version}</version>
  160. <scope>provided</scope>
  161. </dependency>
  162. <dependency>
  163. <groupId>javax.servlet</groupId>
  164. <artifactId>jsp-api</artifactId>
  165. <version>${jsp-api.version}</version>
  166. <scope>provided</scope>
  167. </dependency>
  168. <!-- 文件上传组件 -->
  169. <dependency>
  170. <groupId>commons-fileupload</groupId>
  171. <artifactId>commons-fileupload</artifactId>
  172. <version>${commons-fileupload.version}</version>
  173. </dependency>
  174. <!-- Redis客户端 -->
  175. <dependency>
  176. <groupId>redis.clients</groupId>
  177. <artifactId>jedis</artifactId>
  178. <version>${jedis.version}</version>
  179. </dependency>
  180. <!-- solr客户端 -->
  181. <dependency>
  182. <groupId>org.apache.solr</groupId>
  183. <artifactId>solr-solrj</artifactId>
  184. <version>${solrj.version}</version>
  185. </dependency>
  186. </dependencies>
  187. </dependencyManagement>
  188. <build>
  189. <finalName>${project.artifactId}</finalName>
  190. <plugins>
  191. <!-- 资源文件拷贝插件 -->
  192. <plugin>
  193. <groupId>org.apache.maven.plugins</groupId>
  194. <artifactId>maven-resources-plugin</artifactId>
  195. <version>2.7</version>
  196. <configuration>
  197. <encoding>UTF-8</encoding>
  198. </configuration>
  199. </plugin>
  200. <!-- java编译插件 -->
  201. <plugin>
  202. <groupId>org.apache.maven.plugins</groupId>
  203. <artifactId>maven-compiler-plugin</artifactId>
  204. <version>3.2</version>
  205. <configuration>
  206. <source>1.8</source>
  207. <target>1.8</target>
  208. <encoding>UTF-8</encoding>
  209. </configuration>
  210. </plugin>
  211. </plugins>
  212. <pluginManagement>
  213. <plugins>
  214. <!-- 配置Tomcat插件 -->
  215. <plugin>
  216. <groupId>org.apache.tomcat.maven</groupId>
  217. <artifactId>tomcat7-maven-plugin</artifactId>
  218. <version>2.2</version>
  219. </plugin>
  220. </plugins>
  221. </pluginManagement>
  222. </build>
  223. </project>
View Code

 

3.2创建common工程

点击file->new->module,进入下一个界面之后,选择左侧的maven,点击next

在ArtifactId输入想要的数据,点击next,进入下一个界面之后,点击finish,至此,common工程创建完成。

修改工程pom.xml文件

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0"
  3. 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. <parent>
  6. <artifactId>taotao-parent</artifactId>
  7. <groupId>com.taotao</groupId>
  8. <version>1.0-SNAPSHOT</version>
  9. </parent>
  10. <modelVersion>4.0.0</modelVersion>
  11.  
  12. <groupId>com.taotao</groupId>
  13. <artifactId>taotao-common</artifactId>
  14. <version>1.0-SNAPSHOT</version>
  15. <!-- jar包的依赖 -->
  16. <dependencies>
  17. <!-- 时间操作组件 -->
  18. <dependency>
  19. <groupId>joda-time</groupId>
  20. <artifactId>joda-time</artifactId>
  21. </dependency>
  22. <!-- Apache工具组件 -->
  23. <dependency>
  24. <groupId>org.apache.commons</groupId>
  25. <artifactId>commons-lang3</artifactId>
  26. </dependency>
  27. <dependency>
  28. <groupId>org.apache.commons</groupId>
  29. <artifactId>commons-io</artifactId>
  30. </dependency>
  31. <dependency>
  32. <groupId>commons-net</groupId>
  33. <artifactId>commons-net</artifactId>
  34. </dependency>
  35. <!-- Jackson Json处理工具包 -->
  36. <dependency>
  37. <groupId>com.fasterxml.jackson.core</groupId>
  38. <artifactId>jackson-databind</artifactId>
  39. </dependency>
  40. <!-- httpclient -->
  41. <dependency>
  42. <groupId>org.apache.httpcomponents</groupId>
  43. <artifactId>httpclient</artifactId>
  44. </dependency>
  45. <!-- 单元测试 -->
  46. <dependency>
  47. <groupId>junit</groupId>
  48. <artifactId>junit</artifactId>
  49. <scope>test</scope>
  50. </dependency>
  51. <!-- 日志处理 -->
  52. <dependency>
  53. <groupId>org.slf4j</groupId>
  54. <artifactId>slf4j-log4j12</artifactId>
  55. </dependency>
  56. <dependency>
  57. <groupId>javax.servlet</groupId>
  58. <artifactId>servlet-api</artifactId>
  59. <scope>compile</scope>
  60. </dependency>
  61.  
  62. </dependencies>
  63. </project>
View Code

3.3创建聚合工程mannager

创建聚合工程的步骤和前面创建common工程的步骤是一样的,只是ArtifactId需要填入聚合工程名,然后修改聚合工程的pom.xml文件

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0"
  3. 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. <parent>
  6. <artifactId>taotao-parent</artifactId>
  7. <groupId>com.taotao</groupId>
  8. <version>1.0-SNAPSHOT</version>
  9. </parent>
  10. <modelVersion>4.0.0</modelVersion>
  11. <packaging>pom</packaging>
  12. <modules>
  13. <module>taotaomanagerpojo</module>
  14. <module>taotaomanagermapper</module>
  15. <module>taotaomanagerservice</module>
  16. <module>taotaomanagerweb</module>
  17. </modules>
  18. <artifactId>taotao-manager</artifactId>
  19.  
  20. <build>
  21. <!-- 配置插件 -->
  22. <plugins>
  23. <plugin>
  24. <groupId>org.apache.tomcat.maven</groupId>
  25. <artifactId>tomcat7-maven-plugin</artifactId>
  26. <configuration>
  27. <port>8080</port>
  28. <path>/</path>
  29. </configuration>
  30. </plugin>
  31. </plugins>
  32. </build>
  33.  
  34. <!--依赖管理-->
  35. <dependencies>
  36. <dependency>
  37. <groupId>com.taotao</groupId>
  38. <artifactId>taotao-common</artifactId>
  39. <version>1.0-SNAPSHOT</version>
  40. </dependency>
  41. </dependencies>
  42.  
  43. </project>
View Code

3.4创建pojo、mapper、service工程

创建pojo、mapper、service工程的步骤和前面是一样的,Artifactid填入相应的工程名,然后修改相应工程的pom.xml

pojo工程的pom.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0"
  3. 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. <parent>
  6. <artifactId>taotao-manager</artifactId>
  7. <groupId>com.taotao</groupId>
  8. <version>1.0-SNAPSHOT</version>
  9. </parent>
  10. <modelVersion>4.0.0</modelVersion>
  11.  
  12. <artifactId>taotao-manager-pojo</artifactId>
  13.  
  14.  
  15. </project>

mapper工程的pom.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0"
  3. 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. <parent>
  6. <artifactId>taotao-manager</artifactId>
  7. <groupId>com.taotao</groupId>
  8. <version>1.0-SNAPSHOT</version>
  9. </parent>
  10. <modelVersion>4.0.0</modelVersion>
  11.  
  12. <artifactId>taotao-manager-mapper</artifactId>
  13.  
  14. <build>
  15. <resources>
  16. <resource>
  17. <directory>src/main/java</directory>
  18. <includes>
  19. <include>**/*.properties</include>
  20. <include>**/*.xml</include>
  21. </includes>
  22. <filtering>true</filtering>
  23. </resource>
  24. </resources>
  25. </build>
  26. <!-- 依赖管理 -->
  27. <dependencies>
  28. <dependency>
  29. <groupId>com.taotao</groupId>
  30. <artifactId>taotao-manager-pojo</artifactId>
  31. <version>1.0-SNAPSHOT</version>
  32. </dependency>
  33. <!-- Mybatis -->
  34. <dependency>
  35. <groupId>org.mybatis</groupId>
  36. <artifactId>mybatis</artifactId>
  37. </dependency>
  38. <dependency>
  39. <groupId>org.mybatis</groupId>
  40. <artifactId>mybatis-spring</artifactId>
  41. </dependency>
  42. <dependency>
  43. <groupId>com.github.miemiedev</groupId>
  44. <artifactId>mybatis-paginator</artifactId>
  45. </dependency>
  46. <dependency>
  47. <groupId>com.github.pagehelper</groupId>
  48. <artifactId>pagehelper</artifactId>
  49. </dependency>
  50. <!-- MySql -->
  51. <dependency>
  52. <groupId>mysql</groupId>
  53. <artifactId>mysql-connector-java</artifactId>
  54. </dependency>
  55. <!-- 连接池 -->
  56. <dependency>
  57. <groupId>com.alibaba</groupId>
  58. <artifactId>druid</artifactId>
  59. </dependency>
  60. </dependencies>
  61.  
  62. </project>
View Code

service工程的pom.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0"
  3. 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. <parent>
  6. <artifactId>taotao-manager</artifactId>
  7. <groupId>com.taotao</groupId>
  8. <version>1.0-SNAPSHOT</version>
  9. </parent>
  10. <modelVersion>4.0.0</modelVersion>
  11.  
  12. <artifactId>taotao-manager-service</artifactId>
  13.  
  14. <!-- 依赖管理 -->
  15. <dependencies>
  16. <dependency>
  17. <groupId>com.taotao</groupId>
  18. <artifactId>taotao-manager-mapper</artifactId>
  19. <version>1.0-SNAPSHOT</version>
  20. </dependency>
  21. <!-- Spring -->
  22. <dependency>
  23. <groupId>org.springframework</groupId>
  24. <artifactId>spring-context</artifactId>
  25. </dependency>
  26. <dependency>
  27. <groupId>org.springframework</groupId>
  28. <artifactId>spring-beans</artifactId>
  29. </dependency>
  30. <dependency>
  31. <groupId>org.springframework</groupId>
  32. <artifactId>spring-webmvc</artifactId>
  33. </dependency>
  34. <dependency>
  35. <groupId>org.springframework</groupId>
  36. <artifactId>spring-jdbc</artifactId>
  37. </dependency>
  38. <dependency>
  39. <groupId>org.springframework</groupId>
  40. <artifactId>spring-aspects</artifactId>
  41. </dependency>
  42. </dependencies>
  43.  
  44. </project>
View Code

3.5创建web工程

选择manager工程右键,new->module->maven

 

勾选 Web 骨架后点击 Next,填写好 ArtifactId 后点击 Next,然后选择自己的maven路径以及本地仓库的路径

然后为了提高加载速度,还需要点击右侧的+号添加一个属性,如下所示

修改项目的 pom.xml文件

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  4. <parent>
  5. <artifactId>taotao-manager</artifactId>
  6. <groupId>com.taotao</groupId>
  7. <version>1.0-SNAPSHOT</version>
  8. </parent>
  9.  
  10. <modelVersion>4.0.0</modelVersion>
  11. <packaging>war</packaging>
  12.  
  13. <name>taotao-manager-web</name>
  14. <artifactId>taotao-manager-web</artifactId>
  15.  
  16. <build>
  17. <plugins>
  18. <plugin>
  19. <groupId>org.mortbay.jetty</groupId>
  20. <artifactId>maven-jetty-plugin</artifactId>
  21. <version>6.1.7</version>
  22. <configuration>
  23. <connectors>
  24. <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
  25. <port>8888</port>
  26. <maxIdleTime>30000</maxIdleTime>
  27. </connector>
  28. </connectors>
  29. <webAppSourceDirectory>${project.build.directory}/${pom.artifactId}-${pom.version}
  30. </webAppSourceDirectory>
  31. <contextPath>/</contextPath>
  32. </configuration>
  33. </plugin>
  34. </plugins>
  35.  
  36. </build>
  37.  
  38. <!-- 依赖管理 -->
  39. <dependencies>
  40. <dependency>
  41. <groupId>com.taotao</groupId>
  42. <artifactId>taotao-manager-service</artifactId>
  43. <version>1.0-SNAPSHOT</version>
  44. </dependency>
  45. <!-- JSP相关 -->
  46. <dependency>
  47. <groupId>jstl</groupId>
  48. <artifactId>jstl</artifactId>
  49. </dependency>
  50. <dependency>
  51. <groupId>javax.servlet</groupId>
  52. <artifactId>servlet-api</artifactId>
  53. <scope>provided</scope>
  54. </dependency>
  55. <dependency>
  56. <groupId>javax.servlet</groupId>
  57. <artifactId>jsp-api</artifactId>
  58. <scope>provided</scope>
  59. </dependency>
  60. <!-- 文件上传组件 -->
  61. <dependency>
  62. <groupId>commons-fileupload</groupId>
  63. <artifactId>commons-fileupload</artifactId>
  64. </dependency>
  65. </dependencies>
  66.  
  67. </project>
View Code

至此,项目的后台管理系统的架构就搭建起来了,接下来就是框架的整合了

上面所述可能存在一些错误或者可以改进的地方,还望路过的大神不吝指教,感谢!!!

 

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号