分布式项目--后台管理系统工程搭建
1.主要技术以及软件
ssm、redis、solr、mysql、nginx、intellij、maven、tomcat、svn
2.maven
maven中有三种工程类型:
- pom工程:用在父级工程或聚合工程中。用来做jar包的版本控制。
- war工程:将会打包成war,发布在服务器上的工程。如网站或服务。
- 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文件
<?xml version="1.0" encoding="utf-8"?> <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"> <modelversion>4.0.0</modelversion> <groupid>com.taotao</groupid> <artifactid>taotao-parent</artifactid> <packaging>pom</packaging> <version>1.0-snapshot</version> <modules> <module>taotaocommon</module> <module>taotaomanager</module> </modules> <!-- 集中定义依赖版本号 --> <properties> <junit.version>4.12</junit.version> <spring.version>4.1.3.release</spring.version> <mybatis.version>3.2.8</mybatis.version> <mybatis.spring.version>1.2.2</mybatis.spring.version> <mybatis.paginator.version>1.2.15</mybatis.paginator.version> <mysql.version>5.1.32</mysql.version> <slf4j.version>1.6.4</slf4j.version> <jackson.version>2.4.2</jackson.version> <druid.version>1.0.9</druid.version> <httpclient.version>4.3.5</httpclient.version> <jstl.version>1.2</jstl.version> <servlet-api.version>2.5</servlet-api.version> <jsp-api.version>2.0</jsp-api.version> <joda-time.version>2.5</joda-time.version> <commons-lang3.version>3.3.2</commons-lang3.version> <commons-io.version>1.3.2</commons-io.version> <commons-net.version>3.3</commons-net.version> <pagehelper.version>3.4.2-fix</pagehelper.version> <jsqlparser.version>0.9.1</jsqlparser.version> <commons-fileupload.version>1.3.1</commons-fileupload.version> <jedis.version>2.7.2</jedis.version> <solrj.version>4.10.3</solrj.version> </properties> <!-- 只定义依赖的版本,并不实际依赖 --> <dependencymanagement> <dependencies> <!-- 时间操作组件 --> <dependency> <groupid>joda-time</groupid> <artifactid>joda-time</artifactid> <version>${joda-time.version}</version> </dependency> <!-- apache工具组件 --> <dependency> <groupid>org.apache.commons</groupid> <artifactid>commons-lang3</artifactid> <version>${commons-lang3.version}</version> </dependency> <dependency> <groupid>org.apache.commons</groupid> <artifactid>commons-io</artifactid> <version>${commons-io.version}</version> </dependency> <dependency> <groupid>commons-net</groupid> <artifactid>commons-net</artifactid> <version>${commons-net.version}</version> </dependency> <!-- jackson json处理工具包 --> <dependency> <groupid>com.fasterxml.jackson.core</groupid> <artifactid>jackson-databind</artifactid> <version>${jackson.version}</version> </dependency> <!-- httpclient --> <dependency> <groupid>org.apache.httpcomponents</groupid> <artifactid>httpclient</artifactid> <version>${httpclient.version}</version> </dependency> <!-- 单元测试 --> <dependency> <groupid>junit</groupid> <artifactid>junit</artifactid> <version>${junit.version}</version> <scope>test</scope> </dependency> <!-- 日志处理 --> <dependency> <groupid>org.slf4j</groupid> <artifactid>slf4j-log4j12</artifactid> <version>${slf4j.version}</version> </dependency> <!-- mybatis --> <dependency> <groupid>org.mybatis</groupid> <artifactid>mybatis</artifactid> <version>${mybatis.version}</version> </dependency> <dependency> <groupid>org.mybatis</groupid> <artifactid>mybatis-spring</artifactid> <version>${mybatis.spring.version}</version> </dependency> <dependency> <groupid>com.github.miemiedev</groupid> <artifactid>mybatis-paginator</artifactid> <version>${mybatis.paginator.version}</version> </dependency> <dependency> <groupid>com.github.pagehelper</groupid> <artifactid>pagehelper</artifactid> <version>${pagehelper.version}</version> </dependency> <!-- mysql --> <dependency> <groupid>mysql</groupid> <artifactid>mysql-connector-java</artifactid> <version>${mysql.version}</version> </dependency> <!-- 连接池 --> <dependency> <groupid>com.alibaba</groupid> <artifactid>druid</artifactid> <version>${druid.version}</version> </dependency> <!-- spring --> <dependency> <groupid>org.springframework</groupid> <artifactid>spring-context</artifactid> <version>${spring.version}</version> </dependency> <dependency> <groupid>org.springframework</groupid> <artifactid>spring-beans</artifactid> <version>${spring.version}</version> </dependency> <dependency> <groupid>org.springframework</groupid> <artifactid>spring-webmvc</artifactid> <version>${spring.version}</version> </dependency> <dependency> <groupid>org.springframework</groupid> <artifactid>spring-jdbc</artifactid> <version>${spring.version}</version> </dependency> <dependency> <groupid>org.springframework</groupid> <artifactid>spring-aspects</artifactid> <version>${spring.version}</version> </dependency> <!-- jsp相关 --> <dependency> <groupid>jstl</groupid> <artifactid>jstl</artifactid> <version>${jstl.version}</version> </dependency> <dependency> <groupid>javax.servlet</groupid> <artifactid>servlet-api</artifactid> <version>${servlet-api.version}</version> <scope>provided</scope> </dependency> <dependency> <groupid>javax.servlet</groupid> <artifactid>jsp-api</artifactid> <version>${jsp-api.version}</version> <scope>provided</scope> </dependency> <!-- 文件上传组件 --> <dependency> <groupid>commons-fileupload</groupid> <artifactid>commons-fileupload</artifactid> <version>${commons-fileupload.version}</version> </dependency> <!-- redis客户端 --> <dependency> <groupid>redis.clients</groupid> <artifactid>jedis</artifactid> <version>${jedis.version}</version> </dependency> <!-- solr客户端 --> <dependency> <groupid>org.apache.solr</groupid> <artifactid>solr-solrj</artifactid> <version>${solrj.version}</version> </dependency> </dependencies> </dependencymanagement> <build> <finalname>${project.artifactid}</finalname> <plugins> <!-- 资源文件拷贝插件 --> <plugin> <groupid>org.apache.maven.plugins</groupid> <artifactid>maven-resources-plugin</artifactid> <version>2.7</version> <configuration> <encoding>utf-8</encoding> </configuration> </plugin> <!-- java编译插件 --> <plugin> <groupid>org.apache.maven.plugins</groupid> <artifactid>maven-compiler-plugin</artifactid> <version>3.2</version> <configuration> <source>1.8</source> <target>1.8</target> <encoding>utf-8</encoding> </configuration> </plugin> </plugins> <pluginmanagement> <plugins> <!-- 配置tomcat插件 --> <plugin> <groupid>org.apache.tomcat.maven</groupid> <artifactid>tomcat7-maven-plugin</artifactid> <version>2.2</version> </plugin> </plugins> </pluginmanagement> </build> </project>
3.2创建common工程
点击file->new->module,进入下一个界面之后,选择左侧的maven,点击next
在artifactid输入想要的数据,点击next,进入下一个界面之后,点击finish,至此,common工程创建完成。
修改工程pom.xml文件
<?xml version="1.0" encoding="utf-8"?> <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"> <parent> <artifactid>taotao-parent</artifactid> <groupid>com.taotao</groupid> <version>1.0-snapshot</version> </parent> <modelversion>4.0.0</modelversion> <groupid>com.taotao</groupid> <artifactid>taotao-common</artifactid> <version>1.0-snapshot</version> <!-- jar包的依赖 --> <dependencies> <!-- 时间操作组件 --> <dependency> <groupid>joda-time</groupid> <artifactid>joda-time</artifactid> </dependency> <!-- apache工具组件 --> <dependency> <groupid>org.apache.commons</groupid> <artifactid>commons-lang3</artifactid> </dependency> <dependency> <groupid>org.apache.commons</groupid> <artifactid>commons-io</artifactid> </dependency> <dependency> <groupid>commons-net</groupid> <artifactid>commons-net</artifactid> </dependency> <!-- jackson json处理工具包 --> <dependency> <groupid>com.fasterxml.jackson.core</groupid> <artifactid>jackson-databind</artifactid> </dependency> <!-- httpclient --> <dependency> <groupid>org.apache.httpcomponents</groupid> <artifactid>httpclient</artifactid> </dependency> <!-- 单元测试 --> <dependency> <groupid>junit</groupid> <artifactid>junit</artifactid> <scope>test</scope> </dependency> <!-- 日志处理 --> <dependency> <groupid>org.slf4j</groupid> <artifactid>slf4j-log4j12</artifactid> </dependency> <dependency> <groupid>javax.servlet</groupid> <artifactid>servlet-api</artifactid> <scope>compile</scope> </dependency> </dependencies> </project>
3.3创建聚合工程mannager
创建聚合工程的步骤和前面创建common工程的步骤是一样的,只是artifactid需要填入聚合工程名,然后修改聚合工程的pom.xml文件
<?xml version="1.0" encoding="utf-8"?> <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"> <parent> <artifactid>taotao-parent</artifactid> <groupid>com.taotao</groupid> <version>1.0-snapshot</version> </parent> <modelversion>4.0.0</modelversion> <packaging>pom</packaging> <modules> <module>taotaomanagerpojo</module> <module>taotaomanagermapper</module> <module>taotaomanagerservice</module> <module>taotaomanagerweb</module> </modules> <artifactid>taotao-manager</artifactid> <build> <!-- 配置插件 --> <plugins> <plugin> <groupid>org.apache.tomcat.maven</groupid> <artifactid>tomcat7-maven-plugin</artifactid> <configuration> <port>8080</port> <path>/</path> </configuration> </plugin> </plugins> </build> <!--依赖管理--> <dependencies> <dependency> <groupid>com.taotao</groupid> <artifactid>taotao-common</artifactid> <version>1.0-snapshot</version> </dependency> </dependencies> </project>
3.4创建pojo、mapper、service工程
创建pojo、mapper、service工程的步骤和前面是一样的,artifactid填入相应的工程名,然后修改相应工程的pom.xml
pojo工程的pom.xml
<?xml version="1.0" encoding="utf-8"?> <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"> <parent> <artifactid>taotao-manager</artifactid> <groupid>com.taotao</groupid> <version>1.0-snapshot</version> </parent> <modelversion>4.0.0</modelversion> <artifactid>taotao-manager-pojo</artifactid> </project>
mapper工程的pom.xml
<?xml version="1.0" encoding="utf-8"?> <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"> <parent> <artifactid>taotao-manager</artifactid> <groupid>com.taotao</groupid> <version>1.0-snapshot</version> </parent> <modelversion>4.0.0</modelversion> <artifactid>taotao-manager-mapper</artifactid> <build> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.properties</include> <include>**/*.xml</include> </includes> <filtering>true</filtering> </resource> </resources> </build> <!-- 依赖管理 --> <dependencies> <dependency> <groupid>com.taotao</groupid> <artifactid>taotao-manager-pojo</artifactid> <version>1.0-snapshot</version> </dependency> <!-- mybatis --> <dependency> <groupid>org.mybatis</groupid> <artifactid>mybatis</artifactid> </dependency> <dependency> <groupid>org.mybatis</groupid> <artifactid>mybatis-spring</artifactid> </dependency> <dependency> <groupid>com.github.miemiedev</groupid> <artifactid>mybatis-paginator</artifactid> </dependency> <dependency> <groupid>com.github.pagehelper</groupid> <artifactid>pagehelper</artifactid> </dependency> <!-- mysql --> <dependency> <groupid>mysql</groupid> <artifactid>mysql-connector-java</artifactid> </dependency> <!-- 连接池 --> <dependency> <groupid>com.alibaba</groupid> <artifactid>druid</artifactid> </dependency> </dependencies> </project>
service工程的pom.xml
<?xml version="1.0" encoding="utf-8"?> <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"> <parent> <artifactid>taotao-manager</artifactid> <groupid>com.taotao</groupid> <version>1.0-snapshot</version> </parent> <modelversion>4.0.0</modelversion> <artifactid>taotao-manager-service</artifactid> <!-- 依赖管理 --> <dependencies> <dependency> <groupid>com.taotao</groupid> <artifactid>taotao-manager-mapper</artifactid> <version>1.0-snapshot</version> </dependency> <!-- spring --> <dependency> <groupid>org.springframework</groupid> <artifactid>spring-context</artifactid> </dependency> <dependency> <groupid>org.springframework</groupid> <artifactid>spring-beans</artifactid> </dependency> <dependency> <groupid>org.springframework</groupid> <artifactid>spring-webmvc</artifactid> </dependency> <dependency> <groupid>org.springframework</groupid> <artifactid>spring-jdbc</artifactid> </dependency> <dependency> <groupid>org.springframework</groupid> <artifactid>spring-aspects</artifactid> </dependency> </dependencies> </project>
3.5创建web工程
选择manager工程右键,new->module->maven
勾选 web 骨架后点击 next,填写好 artifactid 后点击 next,然后选择自己的maven路径以及本地仓库的路径
然后为了提高加载速度,还需要点击右侧的+号添加一个属性,如下所示
修改项目的 pom.xml文件
<?xml version="1.0" encoding="utf-8"?> <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/maven-v4_0_0.xsd"> <parent> <artifactid>taotao-manager</artifactid> <groupid>com.taotao</groupid> <version>1.0-snapshot</version> </parent> <modelversion>4.0.0</modelversion> <packaging>war</packaging> <name>taotao-manager-web</name> <artifactid>taotao-manager-web</artifactid> <build> <plugins> <plugin> <groupid>org.mortbay.jetty</groupid> <artifactid>maven-jetty-plugin</artifactid> <version>6.1.7</version> <configuration> <connectors> <connector implementation="org.mortbay.jetty.nio.selectchannelconnector"> <port>8888</port> <maxidletime>30000</maxidletime> </connector> </connectors> <webappsourcedirectory>${project.build.directory}/${pom.artifactid}-${pom.version} </webappsourcedirectory> <contextpath>/</contextpath> </configuration> </plugin> </plugins> </build> <!-- 依赖管理 --> <dependencies> <dependency> <groupid>com.taotao</groupid> <artifactid>taotao-manager-service</artifactid> <version>1.0-snapshot</version> </dependency> <!-- jsp相关 --> <dependency> <groupid>jstl</groupid> <artifactid>jstl</artifactid> </dependency> <dependency> <groupid>javax.servlet</groupid> <artifactid>servlet-api</artifactid> <scope>provided</scope> </dependency> <dependency> <groupid>javax.servlet</groupid> <artifactid>jsp-api</artifactid> <scope>provided</scope> </dependency> <!-- 文件上传组件 --> <dependency> <groupid>commons-fileupload</groupid> <artifactid>commons-fileupload</artifactid> </dependency> </dependencies> </project>
至此,项目的后台管理系统的架构就搭建起来了,接下来就是框架的整合了
上面所述可能存在一些错误或者可以改进的地方,还望路过的大神不吝指教,感谢!!!
推荐阅读
-
分布式项目--后台管理系统工程搭建
-
在vue-cli搭建的项目中增加后台mock接口的方法
-
django项目后台权限管理功能。
-
day01_品优购电商项目_01_走进电商 + 分布式框架-Dubbox + 品优购-框架搭建 + 逆向工程 + 品牌列表展示 + 常见错误_用心笔记
-
如何使用Vue.js来搭建一个后台管理系统
-
搭建项目后台环境,把jar包部署到云服务器上面的过程
-
Java Springboot 开源微服务架构管理后台搭建实战
-
Asp.Net Core 2.0 项目实战(10) 基于cookie登录授权认证并实现前台会员、后台管理员同时登录
-
详解使用VUE搭建后台管理系统(vue-cli更新至3.0)
-
荐 Python 框架 之 Django 的数据后台管理平台,简单的搭建、以及数据基本操作