导语
在前的博客中,我们介绍了EAS项目的基本框架以及EAS项目的一些基本的数据库设计。接下来我们就一起来搭建项目的基本开发框架。
目录介绍
EAS系统是使用Spring Boot框架进行开发,并且采用了分模块的方式进行管理。这里首先来介绍一下整个工程模块结构。整个工程项目目录结果如下图所示。
eas-admin 模块
该模块主要整个项目的启动入口。
eas-common 模块
该模块主要包括了一些通用的工具类、通用的配置类、以及一些通用常量池等。
eas-framework 模块
该模块主要包括Spring Boot配置类,数据库配置、Shiro配置、请求配置拦截器等功能。
eas-system 模块
系统管理模块,主要包括了一些支持系统功能的基础类。
运行项目
搭建好项目架构之后,需要引入对应的POM依赖,让项目运行起来。
父项目依赖
<?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.nihui</groupId>
<artifactId>base-eas</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<modules>
<module>eas-common</module>
<module>eas-framework</module>
<module>eas-admin</module>
<module>eas-system</module>
</modules>
<properties>
<eas.version>1.0-SNAPSHOT</eas.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
</properties>
<dependencyManagement>
<dependencies>
<!--Spring Boot的依赖配置管理-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.5.13</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.nihui</groupId>
<artifactId>eas-framework</artifactId>
<version>${eas.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
<encoding>${project.build.sourceEncoding}</encoding>
</configuration>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>public</id>
<name>aliyun nexus</name>
<url>https://maven.aliyun.com/repository/public</url>
<releases>
<enabled>true</enabled>
</releases>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>public</id>
<name>aliyun nexus</name>
<url>https://maven.aliyun.com/repository/public</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</project>
其中有一个比较关键的依赖就是eas-framework 依赖,根据上面的分析,这个应该是项目Spring Boot框架相关配置模块,所以需要在引入这个模块,在这个模块下引入如下的一些依赖
eas-framework 模块依赖
<?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>base-eas</artifactId>
<groupId>com.nihui</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>eas-framework</artifactId>
<dependencies>
<!-- SpringBoot Web容器 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- SpringBoot 拦截器 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
</dependencies>
</project>
eas-admin
&esmp;根据上面的分析,eas-admin模块就是项目启动模块,在项目启动模块中需要引入如下的一些依赖。
<?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>base-eas</artifactId>
<groupId>com.nihui</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>eas-admin</artifactId>
<dependencies>
<!-- SpringBoot集成thymeleaf模板 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<!-- spring-boot-devtools -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional> <!-- 表示依赖不会传递 -->
</dependency>
<dependency>
<groupId>com.nihui</groupId>
<artifactId>eas-framework</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.1.1.RELEASE</version>
<configuration>
<fork>true</fork> <!-- 如果没有该配置,devtools不会生效 -->
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.0.0</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
<warName>${project.artifactId}</warName>
</configuration>
</plugin>
</plugins>
<finalName>${project.artifactId}</finalName>
</build>
</project>
查看项目运行效果
在项目就可以在eas-admin创建一个主启动类了。代码如下
package com.eas;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
/**
* @PACKAGE_NAME: com.eas
* @NAME: WebMainApplication
* @USER: NIHUI
* @DATE: 2022/7/21
* @PROJECT_NAME: base-eas
**/
@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })
public class WebMainApplication {
public static void main(String[] args) {
SpringApplication.run(WebMainApplication.class,args);
}
}
启动项目,访问http://localhost:8080 就可以看到如下页面,就说明
总结
完成这些操作,就说明我们的基本框架已经搭建完成,接下来就是按照我们不同的功能点进行开发工作了。请大家持续关注。