SpringMvc3.2+Spring3.2+mybatis3+maven项目底层架构整合

来源:互联网 发布:人工智能服务平台 编辑:程序博客网 时间:2024/05/16 07:58

一:此次分享的项目没有任何业务逻辑,只有项目架构设计,主要包括项目主要分为四部分:

        springmvc-core主要是项目核心,他包含项目整体的控制,版本管理,发布打包。

        springmvc-common主要是项目底层的一些封装,包括系统安全,三层架构底层扩展,三种缓存的封装,动态数据源,异常统一管理,静态资源压缩,jstl自定义标签封装,ftp上传下载,springmvc服务端验证,国际化封装,dwr封装等,在此就不一一列举。

        springmvc-mybatis主要是项目架构XML集成配置。

        springmvc-generator主要是根据自己项目的结构自动生成controller,logic,service,mapper,xml,entity(目前还没有提供页面的生成)。

        

二:此次分享采用逐步分享:

       首选让我们看springmvc-core:

       打开项目就发现其实项目中只有一个maven的pom.xml,对maven不太熟的童靴先学习下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/xsd/maven-4.0.0.xsd">  <modelVersion>4.0.0</modelVersion>  <name>springmvc-core</name>  <groupId>com.tydic.manage</groupId>  <artifactId>springmvc-core</artifactId>  <version>1.0.0</version>  <packaging>pom</packaging>  <modules>  <!-- <module>../springmvc-common</module> -->  <module>../springmvc-mybatis</module>    <module>../springmvc-sso</module>    <module>../springmvc-generator</module>  </modules>    <repositories><!-- 如有Nexus私服, 取消注释并指向正确的服务器地--><repository><id>nexus-repos</id><name>Team Nexus Repository</name><url>http://localhost:8081/nexus/content/groups/public</url> </repository><repository><id>central-repos</id><name>Central Repository</name><url>http://repo.maven.apache.org/maven2</url><snapshots><enabled>false</enabled></snapshots></repository>  </repositories>   <properties>  <!-- version setting --><spring.version>3.2.2.RELEASE</spring.version><aspectjrt.version>1.7.0</aspectjrt.version><aspectjweaver.version>1.6.9</aspectjweaver.version><cglib.version>2.2.2</cglib.version><slf4j.version>1.7.5</slf4j.version><log4j.version>1.2.17</log4j.version><hibernate-validator.version>4.2.0.Final</hibernate-validator.version><ehcache.version>2.6.6</ehcache.version><shiro.version>1.2.3</shiro.version><standard.version>1.1.2</standard.version><commons-lang.version>2.6</commons-lang.version><commons-lang3.version>3.1</commons-lang3.version><commons-io.version>2.4</commons-io.version><commons-codec.version>1.8</commons-codec.version><commons-fileupload.version>1.3</commons-fileupload.version><commons-beanutils.version>1.8.3</commons-beanutils.version><poi.version>3.9</poi.version><freemarker.version>2.3.19</freemarker.version><springmvc-common.version>1.0.0</springmvc-common.version><!-- mysql driver setting<jdbc.driver.groupId>mysql</jdbc.driver.groupId><jdbc.driver.artifactId>mysql-connector-java</jdbc.driver.artifactId><jdbc.driver.version>5.1.13</jdbc.driver.version> --><!-- oracle driver setting --><jdbc.driver.groupId>com.oracle</jdbc.driver.groupId><jdbc.driver.artifactId>ojdbc14</jdbc.driver.artifactId><jdbc.driver.version>10.1.0.4.0</jdbc.driver.version><!-- mssql driver setting<jdbc.driver.groupId>net.sourceforge.jtds</jdbc.driver.groupId><jdbc.driver.artifactId>jtds</jdbc.driver.artifactId><jdbc.driver.version>1.2.4</jdbc.driver.version> -->    <!-- other setting --><jdk.version>1.6</jdk.version><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>  </properties>    <dependencyManagement>  <dependencies>   <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-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><!-- spring orm --><dependency><groupId>org.springframework</groupId><artifactId>spring-orm</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>${spring.version}</version></dependency><!-- AOP begin --><dependency><groupId>org.aspectj</groupId><artifactId>aspectjrt</artifactId><version>${aspectjrt.version}</version></dependency><dependency><groupId>org.aspectj</groupId><artifactId>aspectjweaver</artifactId><version>${aspectjweaver.version}</version></dependency><dependency><groupId>cglib</groupId><artifactId>cglib</artifactId><version>${cglib.version}</version></dependency><!-- AOP end --><!-- jdbc driver --><dependency><groupId>${jdbc.driver.groupId}</groupId><artifactId>${jdbc.driver.artifactId}</artifactId><version>${jdbc.driver.version}</version><scope>runtime</scope></dependency><!-- PERSISTENCE end --><!-- WEB begin --><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>taglibs</groupId><artifactId>standard</artifactId><version>${standard.version}</version></dependency><dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId><version>1.2</version><type>jar</type></dependency><dependency><groupId>javax.servlet</groupId><artifactId>servlet-api</artifactId><version>2.5</version><scope>provided</scope></dependency><dependency>    <groupId>javax.servlet.jsp</groupId>    <artifactId>jsp-api</artifactId>    <version>2.1</version>    <scope>provided</scope></dependency><!-- WEB end --><!-- EHCACHE begin --><dependency><groupId>net.sf.ehcache</groupId><artifactId>ehcache-core</artifactId><version>${ehcache.version}</version></dependency><dependency><groupId>net.sf.ehcache</groupId><artifactId>ehcache-web</artifactId><version>2.0.4</version></dependency><!-- EHCACHE end --><!-- SECURITY begin --><dependency><groupId>org.apache.shiro</groupId><artifactId>shiro-core</artifactId><version>${shiro.version}</version></dependency><dependency>  <groupId>org.apache.shiro</groupId>  <artifactId>shiro-cas</artifactId>  <version>${shiro.version}</version></dependency><dependency><groupId>org.apache.shiro</groupId><artifactId>shiro-spring</artifactId><version>${shiro.version}</version></dependency><dependency><groupId>org.apache.shiro</groupId><artifactId>shiro-web</artifactId><version>${shiro.version}</version></dependency><dependency><groupId>org.apache.shiro</groupId><artifactId>shiro-ehcache</artifactId><version>${shiro.version}</version></dependency><!-- SECURITY end --><!-- LOGGING begin --><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>${slf4j.version}</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId><version>${slf4j.version}</version></dependency><!-- common-logging 实际调用slf4j --><dependency><groupId>org.slf4j</groupId><artifactId>jcl-over-slf4j</artifactId>       <version>${slf4j.version}</version></dependency><!-- java.util.logging 实际调用slf4j --><dependency>        <groupId>org.slf4j</groupId>        <artifactId>jul-to-slf4j</artifactId>        <version>${slf4j.version}</version>      </dependency>      <!-- log4j --><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>${log4j.version}</version></dependency><!-- log4jdbc --><dependency><groupId>org.lazyluke</groupId><artifactId>log4jdbc-remix</artifactId><version>0.2.7</version></dependency><!-- LOGGING end --><!-- GENERAL UTILS begin --><dependency>    <groupId>commons-lang</groupId>    <artifactId>commons-lang</artifactId>    <version>${commons-lang.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>commons-codec</groupId><artifactId>commons-codec</artifactId><version>${commons-codec.version}</version> </dependency><dependency>    <groupId>commons-fileupload</groupId>    <artifactId>commons-fileupload</artifactId>   <version>${commons-fileupload.version}</version>     </dependency><dependency><groupId>commons-beanutils</groupId><artifactId>commons-beanutils</artifactId><version>${commons-beanutils.version}</version><exclusions><exclusion><groupId>commons-logging</groupId><artifactId>commons-logging</artifactId></exclusion></exclusions></dependency><!-- jackson json --><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.2.1</version></dependency><dependency><groupId>com.fasterxml.jackson.module</groupId><artifactId>jackson-module-jaxb-annotations</artifactId>    <version>2.2.1</version></dependency>        <!-- freemarker engine --><dependency><groupId>org.freemarker</groupId><artifactId>freemarker</artifactId>    <version>${freemarker.version}</version></dependency><!-- poi office -->  <dependency>    <groupId>org.apache.poi</groupId>    <artifactId>poi</artifactId>    <version>${poi.version}</version></dependency><dependency>    <groupId>org.apache.poi</groupId>    <artifactId>poi-ooxml</artifactId>    <version>${poi.version}</version></dependency><dependency>    <groupId>org.apache.poi</groupId>    <artifactId>poi-ooxml-schemas</artifactId>    <version>${poi.version}</version></dependency><!-- GENERAL UTILS end --><!-- TEST begin --><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>${spring.version}</version></dependency><!-- TEST end --><!-- mybatis begin --><dependency>  <groupId>org.mybatis</groupId>  <artifactId>mybatis</artifactId>  <version>3.1.1</version></dependency><dependency>  <groupId>org.mybatis</groupId>  <artifactId>mybatis-spring</artifactId>  <version>1.1.1</version></dependency> <dependency><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-core</artifactId><version>1.3.2</version></dependency><!--mybatis end --><!-- Hibernate Validator -->          <dependency>              <groupId>org.hibernate</groupId>              <artifactId>hibernate-validator</artifactId>              <version>${hibernate-validator.version}</version>            <scope>compile</scope>        </dependency>       <!-- Hibernate Validator end-->              <!-- dwr -->       <dependency>              <groupId>org.directwebremoting</groupId>              <artifactId>dwr</artifactId>              <version>3.0.M1</version><scope>compile</scope>        </dependency>           <!-- dwr end-->              <dependency>    <groupId>com.google.guava</groupId>    <artifactId>guava</artifactId><version>16.0</version></dependency>  <dependency><groupId>com.tydic.manage</groupId>    <artifactId>springmvc-common</artifactId>    <version>${springmvc-common.version}</version>    <type>jar</type><scope>compile</scope></dependency><dependency><groupId>c3p0</groupId><artifactId>c3p0</artifactId><version>0.9.1.2</version><type>jar</type><scope>compile</scope></dependency><!-- push --><dependency>          <groupId>nl.justobjects.pushlet</groupId>          <artifactId>pushlet</artifactId>          <version>2.0.4</version></dependency>  </dependencies>  </dependencyManagement>  <!-- developer--><developers>  <developer><id>king</id><name>jinhb</name><email>jhbiphone@163.com</email><roles><role>Project lead</role></roles><timezone>+8</timezone>  </developer></developers></project>

注意:

1:packaging是pom格式,这样通过它就可以针对整个项目打包构建。

 


此次先分享到这里后续会继续分享!


0 0
原创粉丝点击