上一篇我們介紹《構建dubbo分散式平臺-maven構建ant-config專案》,框架使用maven進行構建,根據我們的規劃,要將子專案全部構建出來,今天重點講解的是ant-framework可信專案的構建過程。
其中ant-framework是ant分散式框架的基礎核心框架,其中包括CRUD,MVC等一系列基類和模板。另外定義了spring,mybatis,wink等底層框架擴充套件專案,具體內容包括:
1. annotation相關注解:資料簽名註解、使用者是否走sso登入註解等;
2. Bean的相關認證;
3. filter過濾器:分頁、sso單點登入等;
4. 物件轉換封裝,如:json;
5. 基礎controller、dao、service、basebean、xml的封裝;
6. security許可權的封裝;
7. 基礎CRUD的封裝;
8. 基礎servlet的封裝;
9. 通用管理的封裝,如:使用者、角色、許可權、資料字典、選單、日子、部門機構等。
提示:當前只列了其中的一小部分核心,在後面的章節中會將所有涉及的內容一一講解且附上相關程式碼。
前面的文章我一次寫的內容有點多,有些學者可能一下無法接受的了,在後面的章節中,我會針對於每一個知識點進行詳細剖析,希望大家能夠按照例項將框架搭建起來。
今天我們只做簡單的專案建立,建立ant-framework專案,並繼承ant-parent專案,其中pom.xml配置檔案如下:
<?xml version="1.0"?>
<project
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.sml.sz</groupId>
<artifactId>ant-project</artifactId>
<version>1.0.0</version>
</parent>
<artifactId>ant-framework</artifactId>
<name>ant-framework</name>
<url>http://maven.apache.org</url>
<description>此專案定義了ant的程式碼框架,包括CRUD,MVC等一系列基類和模板。另外定義了spring,mybatis,wink等底層框架擴充套件</description>
<dependencies>
<!-- spring begin -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
<exclusions>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
</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>
<exclusions>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${spring.version}</version>
</dependency>
<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>
<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-oxm</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- spring end -->
<!-- shiro begin -->
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-core</artifactId>
<version>${shiro.version}</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</exclusion>
</exclusions>
</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>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- shiro end -->
<!-- mybatis begin -->
<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>
<!-- mybatis end -->
<!-- hibernate validate begin -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>${validator.version}</version>
</dependency>
<!-- hibernate validate end -->
<!-- 框架工具jar包 -->
<dependency>
<groupId>com.sml.sz</groupId>
<artifactId>ant-utils</artifactId>
<exclusions>
<exclusion>
<artifactId>slf4j-log4j12</artifactId>
<groupId>org.slf4j</groupId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
</project>
特別提醒:
由於ant-utils專案是整個分散式架構的通用工具jar包,故ant-utils專案在ant-framework的pom檔案中進行配置,也就是說以後所有的專案都必須依賴ant-framework。
歡迎大家跟我一起學習《構建dubbo分散式平臺》,希望大家持續關注後面的文章!
願意瞭解框架技術或者原始碼的朋友直接求求交流分享技術:2042849237
分散式的一些解決方案,有願意瞭解的朋友可以找我們團隊探討
更多詳細原始碼參考來源