一:背景
J2EE框架越来越成熟,避不开的Spring体系,国内很多人都在用的dubbo,还有随着Docker,K8S发展起来的微服务框架,容器框架。 在工作过程中,一直想着基于Spring体系封装一个适合自己开发团
队的框架,封装一些成熟的组件,同时又暴露一些内容(避免过度封装,导致开发人员只是会用,而无法了解其实现原理)。构建的过程中,不知不觉竟然成了一个毛坯版的Spring Boot,不能不感
慨Spring的与时俱进,急人之所急。
二:简介
这个架构有Maven构建,暂时分为一下几个模块,每个模块都独立封装成jar包,可在项目中引用
1.donkey-common-utils-support 工具类模块
2.donkey-common-dao-support 数据访问类模块 类似于Spring-Data-Jpa
3.donkey-common-service-support 业务处理层模块
4.donkey-common-controller-support 控制层处理模块
5.donkey-common-cache-support 缓存层处理模块
6.donkey-common-jms-support 消息中间件层处理模块
7.donkey-common-session-support session集中处理模块
8.donkey-common-web-support web集中处理模块
9.donkey-common-security-web-support web安装机制处理模块
10.donkey-mvc-api-demo 毛坯版的Spring boot 示例
11.donkey-spring-boot-web-demo 如何基于框架使用Spring boot 示例
三:框架的POM.xml文件
J2EE框架越来越成熟,避不开的Spring体系,国内很多人都在用的dubbo,还有随着Docker,K8S发展起来的微服务框架,容器框架。 在工作过程中,一直想着基于Spring体系封装一个适合自己开发团
队的框架,封装一些成熟的组件,同时又暴露一些内容(避免过度封装,导致开发人员只是会用,而无法了解其实现原理)。构建的过程中,不知不觉竟然成了一个毛坯版的Spring Boot,不能不感
慨Spring的与时俱进,急人之所急。
二:简介
这个架构有Maven构建,暂时分为一下几个模块,每个模块都独立封装成jar包,可在项目中引用
1.donkey-common-utils-support 工具类模块
2.donkey-common-dao-support 数据访问类模块 类似于Spring-Data-Jpa
3.donkey-common-service-support 业务处理层模块
4.donkey-common-controller-support 控制层处理模块
5.donkey-common-cache-support 缓存层处理模块
6.donkey-common-jms-support 消息中间件层处理模块
7.donkey-common-session-support session集中处理模块
8.donkey-common-web-support web集中处理模块
9.donkey-common-security-web-support web安装机制处理模块
10.donkey-mvc-api-demo 毛坯版的Spring boot 示例
11.donkey-spring-boot-web-demo 如何基于框架使用Spring boot 示例
三:框架的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.brilliantstar</groupId>
- <artifactId>donkey</artifactId>
- <version>0.0.1-SNAPSHOT</version>
- <packaging>pom</packaging>
- <name>donkey parent</name>
- <description>The parent project of donkey</description>
-
- <repositories>
- <repository>
- <id>nexus</id>
- <name>BrilliantStar Nexus Repository</name>
- <url>http://121.42.157.168:8081/nexus/content/groups/public</url>
- </repository>
- </repositories>
-
- <!-- 模块 -->
- <modules>
- <module>donkey-common-utils-support</module>
- <module>donkey-common-dao-support</module>
- <module>donkey-common-service-support</module>
- <module>donkey-common-controller-support</module>
- <module>donkey-mvc-api-demo</module>
- <module>donkey-common-cache-support</module>
- <module>donkey-common-web-support</module>
- <module>donkey-common-security-web-support</module>
- <module>donkey-common-session-support</module>
- <module>donkey-common-jms-support</module>
- <module>donkey-spring-boot-web-demo</module>
- </modules>
-
- <!-- 属性 -->
- <properties>
- <spring.version>4.3.9.RELEASE</spring.version>
- <commons-lang3.version>3.6</commons-lang3.version>
- <commons-lang.version>2.5</commons-lang.version>
- <commons.io.version>2.5</commons.io.version>
- <commons.logging.version>1.2</commons.logging.version>
- <jackson.json.version>1.9.13</jackson.json.version>
- <jackson.fasterxml.version>2.6.0</jackson.fasterxml.version>
- <log4j2.version>2.7</log4j2.version>
- <gson.version>2.2.4</gson.version>
- <poi.version>3.9</poi.version>
- <jsonlib.version>2.4</jsonlib.version>
- <bouncycastle.version>140</bouncycastle.version>
- <javax.persistence.version>1.0.2</javax.persistence.version>
- <junit.version>4.10</junit.version>
- <servlet.api.version>3.1.0</servlet.api.version>
- <c3p0.version>0.9.1</c3p0.version>
- <mysql.connector.version>5.1.36</mysql.connector.version>
-
- <aspectj.version>1.8.10</aspectj.version>
- <atomikos.version>4.0.4</atomikos.version>
- <atomikos.transactions.jdbc.version>3.8.0</atomikos.transactions.jdbc.version>
- <jta.version>1.1</jta.version>
- <spring.data.redis.version>1.8.4.RELEASE</spring.data.redis.version>
- <jedis.version>2.9.0</jedis.version>
- <thymeleaf.version>3.0.6.RELEASE</thymeleaf.version>
- <spring.session.redis.version>1.3.1.RELEASE</spring.session.redis.version>
- <spring-security.version>4.2.3.RELEASE</spring-security.version>
- <jsr250.version>1.0</jsr250.version>
- <activemq.version>5.14.5</activemq.version>
- <javax.jms.version>1.1-rev-1</javax.jms.version>
- <slf4j.version>1.7.25</slf4j.version>
- <springframework.boot.version>1.5.4.RELEASE</springframework.boot.version>
- <tomcat.version>8.5.15</tomcat.version>
- <thymeleaf-layout-dialect.version>2.2.2</thymeleaf-layout-dialect.version>
- <spring-hateoas.version>0.23.0.RELEASE</spring-hateoas.version>
- </properties>
-
- <!-- 依赖配置 -->
- <dependencyManagement>
- <dependencies>
-
- <dependency>
- <groupId>org.springframework.hateoas</groupId>
- <artifactId>spring-hateoas</artifactId>
- <version>${spring-hateoas.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-thymeleaf</artifactId>
- <version>${springframework.boot.version}</version>
- </dependency>
-
- <dependency>
- <groupId>nz.net.ultraq.thymeleaf</groupId>
- <artifactId>thymeleaf-layout-dialect</artifactId>
- <version>${thymeleaf-layout-dialect.version}</version>
- </dependency>
-
-
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-web</artifactId>
- <version>${springframework.boot.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-actuator</artifactId>
- <version>${springframework.boot.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-websocket</artifactId>
- <version>${springframework.boot.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-test</artifactId>
- <version>${springframework.boot.version}</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-tomcat</artifactId>
- <version>${springframework.boot.version}</version>
- <scope>provided</scope>
- </dependency>
-
-
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-log4j2</artifactId>
- <version>${springframework.boot.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-api</artifactId>
- <version>${slf4j.version}</version>
- </dependency>
-
- <dependency>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- <version>${commons.logging.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-core</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-jdbc</artifactId>
- <version>${spring.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-web</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-context</artifactId>
- <version>${spring.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-context-support</artifactId>
- <version>${spring.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-aop</artifactId>
- <version>${spring.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-tx</artifactId>
- <version>${spring.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.springframework.data</groupId>
- <artifactId>spring-data-redis</artifactId>
- <version>${spring.data.redis.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.springframework.session</groupId>
- <artifactId>spring-session-data-redis</artifactId>
- <version>${spring.session.redis.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.springframework.security</groupId>
- <artifactId>spring-security-core</artifactId>
- <version>${spring-security.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.springframework.security</groupId>
- <artifactId>spring-security-web</artifactId>
- <version>${spring-security.version}</version>
- </dependency>
- <dependency>
- <groupId>org.springframework.security</groupId>
- <artifactId>spring-security-config</artifactId>
- <version>${spring-security.version}</version>
- </dependency>
- <dependency>
- <groupId>org.springframework.security</groupId>
- <artifactId>spring-security-taglibs</artifactId>
- <version>${spring-security.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-jms</artifactId>
- <version>${spring.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.activemq</groupId>
- <artifactId>activemq-all</artifactId>
- <version>${activemq.version}</version>
- </dependency>
-
-
- <dependency>
- <groupId>javax.jms</groupId>
- <artifactId>jms-api</artifactId>
- <version>${javax.jms.version}</version>
- </dependency>
-
- <dependency>
- <groupId>javax.annotation</groupId>
- <artifactId>jsr250-api</artifactId>
- <version>${jsr250.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.logging.log4j</groupId>
- <artifactId>log4j-api</artifactId>
- <version>${log4j2.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.logging.log4j</groupId>
- <artifactId>log4j-core</artifactId>
- <version>${log4j2.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.logging.log4j</groupId>
- <artifactId>log4j-slf4j-impl</artifactId>
- <version>${log4j2.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.logging.log4j</groupId>
- <artifactId>log4j-web</artifactId>
- <version>${log4j2.version}</version>
- </dependency>
-
- <dependency>
- <groupId>com.google.code.gson</groupId>
- <artifactId>gson</artifactId>
- <version>${gson.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.commons</groupId>
- <artifactId>commons-lang3</artifactId>
- <version>${commons-lang3.version}</version>
- </dependency>
-
- <dependency>
- <groupId>commons-io</groupId>
- <artifactId>commons-io</artifactId>
- <version>${commons.io.version}</version>
- </dependency>
-
-
- <dependency>
- <groupId>com.fasterxml.jackson.core</groupId>
- <artifactId>jackson-core</artifactId>
- <version>${jackson.fasterxml.version}</version>
- </dependency>
-
- <dependency>
- <groupId>com.fasterxml.jackson.core</groupId>
- <artifactId>jackson-databind</artifactId>
- <version>${jackson.fasterxml.version}</version>
- </dependency>
-
-
- <dependency>
- <groupId>com.fasterxml.jackson.core</groupId>
- <artifactId>jackson-annotations</artifactId>
- <version>${jackson.fasterxml.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.poi</groupId>
- <artifactId>poi</artifactId>
- <version>${poi.version}</version>
- </dependency>
-
- <dependency>
- <groupId>net.sf.json-lib</groupId>
- <artifactId>json-lib</artifactId>
- <version>${jsonlib.version}</version>
- <classifier>jdk15</classifier>
- <exclusions>
- <exclusion>
- <artifactId>commons-logging</artifactId>
- <groupId>commons-logging</groupId>
- </exclusion>
- </exclusions>
- </dependency>
-
- <dependency>
- <groupId>bouncycastle</groupId>
- <artifactId>bcprov-jdk15</artifactId>
- <version>${bouncycastle.version}</version>
- </dependency>
-
- <dependency>
- <groupId>javax.persistence</groupId>
- <artifactId>persistence-api</artifactId>
- <version>${javax.persistence.version}</version>
- </dependency>
-
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>javax.servlet-api</artifactId>
- <version>${servlet.api.version}</version>
- <scope>provided</scope>
- </dependency>
-
- <dependency>
- <groupId>c3p0</groupId>
- <artifactId>c3p0</artifactId>
- <version>${c3p0.version}</version>
- </dependency>
-
- <dependency>
- <groupId>mysql</groupId>
- <artifactId>mysql-connector-java</artifactId>
- <version>${mysql.connector.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.aspectj</groupId>
- <artifactId>aspectjrt</artifactId>
- <version>${aspectj.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.aspectj</groupId>
- <artifactId>aspectjweaver</artifactId>
- <version>${aspectj.version}</version>
- </dependency>
-
-
- <dependency>
- <groupId>com.atomikos</groupId>
- <artifactId>transactions</artifactId>
- <version>${atomikos.version}</version>
- </dependency>
- <dependency>
- <groupId>com.atomikos</groupId>
- <artifactId>transactions-api</artifactId>
- <version>${atomikos.version}</version>
- </dependency>
- <dependency>
- <groupId>com.atomikos</groupId>
- <artifactId>atomikos-util</artifactId>
- <version>${atomikos.version}</version>
- </dependency>
- <dependency>
- <groupId>com.atomikos</groupId>
- <artifactId>transactions-jdbc-deprecated</artifactId>
- <version>${atomikos.transactions.jdbc.version}</version>
- </dependency>
- <dependency>
- <groupId>com.atomikos</groupId>
- <artifactId>transactions-jta</artifactId>
- <version>${atomikos.version}</version>
- </dependency>
- <dependency>
- <groupId>com.atomikos</groupId>
- <artifactId>transactions-jdbc</artifactId>
- <version>${atomikos.version}</version>
- </dependency>
-
- <dependency>
- <groupId>javax.transaction</groupId>
- <artifactId>jta</artifactId>
- <version>${jta.version}</version>
- </dependency>
-
- <dependency>
- <groupId>redis.clients</groupId>
- <artifactId>jedis</artifactId>
- <version>${jedis.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.thymeleaf</groupId>
- <artifactId>thymeleaf-spring4</artifactId>
- <version>${thymeleaf.version}</version>
- </dependency>
-
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>${junit.version}</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
- </dependencyManagement>
-
- <!-- 插件配置 -->
- <build>
- <pluginManagement>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <source>1.8</source>
- <target>1.8</target>
- <compilerArguments>
- <extdirs>${java.home}/lib</extdirs>
- <bootclasspath>${java.home}/jre/lib/rt.jar;${java.home}/jre/lib/jce.jar</bootclasspath>
- </compilerArguments>
- </configuration>
- </plugin>
-
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-resources-plugin</artifactId>
- <configuration>
- <encoding>UTF-8</encoding>
- </configuration>
- </plugin>
- </plugins>
- </pluginManagement>
- </build>
- </project>
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28624388/viewspace-2141907/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/28624388/viewspace-2141907/