• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

02 项目搭建:

互联网 diligentman 2天前 6次浏览

02 项目搭建:

1、初始化

首先初始化一个springboot项目,引入所需要的最基础的依赖。此项目将会将各模块间进行分模块创建,目的是为了之后进行微服务的构建,或是分布式实现(目前还暂定)。(由于作者网络出现了小异常,导致创建项目时使用springboot官方初始化无效,所以替换成了alibaba的地址,如果有创建项目时出现这种链接请求超时的情况可以尝试初始化地址改用:http://start.aliyun.com)

02 项目搭建:

初始化时选用了lombook,为了简化一些代码(对象封装),逆向工程(代码生成)我是使用了IDEA插件库中的EasyCode-MabatisCodeHelper插件。

02 项目搭建:

2、依赖引入

整体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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
 <modelVersion>4.0.0</modelVersion>
 <groupId>com.ssk</groupId>
 <artifactId>-1shop</artifactId>
 <version>0.0.1-SNAPSHOT</version>
 <name>-1shop</name>
 <packaging>jar</packaging>
 <description>Demo project for Spring Boot</description>
​
 <properties>
 <java.version>1.8</java.version>
 <skipTests>true</skipTests>
 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
 <spring-boot.version>2.3.0.RELEASE</spring-boot.version>
 <swagger-ui.version>2.9.2</swagger-ui.version>
 <mybatisplus.version>2.1.9</mybatisplus.version>
 <mysql.version>5.1.47</mysql.version>
 <druid.version>1.0.0</druid.version>
 </properties>
​
 <dependencies>
 <dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-security</artifactId>
 </dependency>
 <dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-web</artifactId>
 </dependency>
​
 <dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-devtools</artifactId>
 <scope>runtime</scope>
 <optional>true</optional>
 </dependency>
 <dependency>
 <groupId>org.projectlombok</groupId>
 <artifactId>lombok</artifactId>
 <optional>true</optional>
 </dependency>
 <dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-test</artifactId>
 <scope>test</scope>
 <exclusions>
 <exclusion>
 <groupId>org.junit.vintage</groupId>
 <artifactId>junit-vintage-engine</artifactId>
 </exclusion>
 </exclusions>
 </dependency>
 <dependency>
 <groupId>org.springframework.security</groupId>
 <artifactId>spring-security-test</artifactId>
 <scope>test</scope>
 </dependency>
​
 <!-- 阿里巴巴 json 处理 -->
 <dependency>
 <groupId>com.alibaba</groupId>
 <artifactId>fastjson</artifactId>
 <version>${fastjson.version}</version>
 </dependency>
​
 <!-- Spring Boot mybatis-plus 依赖 -->
 <dependency>
 <groupId>com.baomidou</groupId>
 <artifactId>mybatis-plus-boot-starter</artifactId>
 <version>${mybatis-plus-boot-starter.version}</version>
 <exclusions>
 <exclusion>
 <artifactId>tomcat-jdbc</artifactId>
 <groupId>org.apache.tomcat</groupId>
 </exclusion>
 </exclusions>
 </dependency>
​
 <!-- Swagger2 -->
 <dependency>
 <groupId>io.springfox</groupId>
 <artifactId>springfox-swagger2</artifactId>
 <version>${swagger.version}</version>
 </dependency>
 <dependency>
 <groupId>io.springfox</groupId>
 <artifactId>springfox-swagger-ui</artifactId>
 <version>${swagger-ui.version}</version>
 </dependency>
​
​
 <!-- alibaba的druid数据库连接池 -->
 <dependency>
 <groupId>com.alibaba</groupId>
 <artifactId>druid</artifactId>
 <version>${druid.version}</version>
 </dependency>
​
 <!-- MySQL 连接驱动依赖 -->
 <dependency>
 <groupId>mysql</groupId>
 <artifactId>mysql-connector-java</artifactId>
 <version>${mysql.version}</version>
 </dependency>
​
 <!-- c3p0 -->
 <dependency>
 <groupId>com.mchange</groupId>
 <artifactId>c3p0</artifactId>
 <version>0.9.5.2</version>
 </dependency>
​
​
 <!-- quartz -->
 <dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-quartz</artifactId>
 <version>2.1.10.RELEASE</version>
 </dependency>
​
​
​
 </dependencies>
​
 <dependencyManagement>
 <dependencies>
 <dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-dependencies</artifactId>
 <version>${spring-boot.version}</version>
 <type>pom</type>
 <scope>import</scope>
 </dependency>
 </dependencies>
 </dependencyManagement>
​
 <build>
 <plugins>
 <plugin>
 <groupId>org.apache.maven.plugins</groupId>
 <artifactId>maven-compiler-plugin</artifactId>
 <version>3.8.1</version>
 <configuration>
 <source>1.8</source>
 <target>1.8</target>
 <encoding>UTF-8</encoding>
 </configuration>
 </plugin>
 <plugin>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-maven-plugin</artifactId>
 <version>2.3.0.RELEASE</version>
 <configuration>
 <mainClass>com.ssk.shop.Application</mainClass>
 </configuration>
 <executions>
 <execution>
 <id>repackage</id>
 <goals>
 <goal>repackage</goal>
 </goals>
 </execution>
 </executions>
 </plugin>
 </plugins>
 </build>
​
</project>

其中安全框架使用的是security,数据库源使用alibaba的druid,因为quartz的缘故单独引入了c3p0去做线程池,接口文档方面使用了swagger,持久化层则选了mybatis-plus,还记得被某刘天天洗脑,plus比mybatis好,只做增强巴拉巴拉。。。

其次有功典型的工具包可以考虑引入,就是hutool(糊涂),其封装了大部分常用的工具类,包括一些导入导出的功能。

至于其他的依赖后续开发过程中将会一一引入。

3、项目目录层级介绍

02 项目搭建:

facade 外观/门面层:可以理解为对业务数据的封装层,主要负责用户传来的数据处理以及业务数据返回给用户之前的封装,出于对代码耦合的考虑建议bll层及之下的代码尽量只对自己模块的代码进行操作,不引入其他模块的代码,业务流程上的调用让facade来做。

bll 基础业务逻辑层:相当于service层,对基础的业务逻辑进行操作。

至于其他的层级大家应该烂熟于心,便不做过多介绍。

以上便是本项目的基础框架的简单介绍。

项目源码地址:https://github.com/1529565626/-1SShop

项目演示地址:由于作者鉴于经费稀缺,暂时未拥有,待日后项目成熟,抑或是一夜暴富可以考虑。


喜欢 (0)