前言
在先导篇中已经提到后端所用技术栈,这里算是入门篇,项目启动,搭建脚手架。
工程说明
目录结构
├── mldong-admin 管理端接口
├── component 组件包
├── config 配置加载
└── modules
└──sys
├── dao 持久层-该层代码可自定义
├── dto dto层,可为查询结果实体、请求参数实体、业务实体
├── enums 错误码定义
├── vo vo层,前端需要什么,定义什么
└── service 服务层
├── mldong-common 工具类及通用代码
├── mldong-generator 代码生成器
└── mldong-mapper 持久层,该层代码由代码生成器生成,不可手动变更
└── modules
└──sys
├── entity 实体类
└── mapper 持久层
开始动手
不想截图,咱们一个个来创建。
创建基础目录结构及文件
mldong
├── mldong-admin
├── src
├── main
├── java
└── com
└── mldong
modules
└── sys
└── controller
└── LoginController.java
└── MldongAdminApplication.java
└── resources
├── application-dev.yml
└── application.yml
└── test
└── java
└── .gitkeep
└── pom.xml
├── mldong-common
├── src
├── main
├── java
└── .gitkeep
└── resources
└── .gitkeep
└── test
└── java
└── .gitkeep
└── pom.xml
├── mldong-generator
├── src
├── main
├── java
└── .gitkeep
└── resources
└── .gitkeep
└── test
└── java
└── .gitkeep
└── pom.xml
├── mldong-mapper
├── src
├── main
├── java
└── .gitkeep
└── resources
└── .gitkeep
└── test
└── java
└── .gitkeep
└── pom.xml
└── pom.xml
mldong/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.mldong</groupId>
<artifactId>mldong</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>pom</packaging>
<name>mldong</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<spring-boot.version>2.1.4.RELEASE</spring-boot.version>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<jwt.version>3.7.0</jwt.version>
<com.alibaba.druid.version>1.0.18</com.alibaba.druid.version>
<tk.mybatis.version>4.1.5</tk.mybatis.version>
<mybatis.spring.boot.starter.version>2.1.0</mybatis.spring.boot.starter.version>
<mapper.spring.boot.starter.version>2.1.0</mapper.spring.boot.starter.version>
<pagehelper.spring.boot.starter.version>1.2.12</pagehelper.spring.boot.starter.version>
<io.springfox-swagger2.version>2.7.0</io.springfox-swagger2.version>
<swagger-knife.version>2.0.2</swagger-knife.version>
</properties>
<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>
<!--druid数据库连接池-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>${com.alibaba.druid.version}</version>
</dependency>
<!-- jwt -->
<dependency>
<groupId>com.auth0</groupId>
<artifactId>java-jwt</artifactId>
<version>${jwt.version}</version>
</dependency>
<!-- tk.mybatis -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>${mybatis.spring.boot.starter.version}</version>
</dependency>
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper</artifactId>
<version>${tk.mybatis.version}</version>
</dependency>
<!--mapper-->
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>${mapper.spring.boot.starter.version}</version>
</dependency>
<!--pagehelper-->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>${pagehelper.spring.boot.starter.version}</version>
</dependency>
<!-- tk.mybatis -->
<dependency>
<groupId>net.sf.dozer</groupId>
<artifactId>dozer</artifactId>
<version>${dozer.version}</version>
</dependency>
<!--swaggerui-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>${io.springfox-swagger2.version}</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>${io.springfox-swagger2.version}</version>
</dependency>
<!--knife4j-->
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-boot-starter</artifactId>
<!--在引用时请在maven中央仓库搜索最新版本号-->
<version>${swagger-knife.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<repositories>
<!--阿里云主仓库,代理了maven central和jcenter仓库-->
<repository>
<id>aliyun</id>
<name>aliyun</name>
<url>https://maven.aliyun.com/repository/public</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<!--阿里云代理Spring 插件仓库-->
<pluginRepository>
<id>spring-plugin</id>
<name>spring-plugin</name>
<url>https://maven.aliyun.com/repository/spring-plugin</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
<modules>
<module>mldong-common</module>
<module>mldong-generator</module>
<module>mldong-mapper</module>
</modules>
</project>
mldong/mldong-admin/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">
<parent>
<artifactId>mldong</artifactId>
<groupId>com.mldong</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<properties>
</properties>
<artifactId>mldong-admin</artifactId>
<dependencies>
<dependency>
<groupId>com.mldong</groupId>
<artifactId>mldong-common</artifactId>
<version>${parent.version}</version>
</dependency>
<dependency>
<groupId>com.mldong</groupId>
<artifactId>mldong-mapper</artifactId>
<version>${parent.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<!--实现springboot的热加载-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
<scope>true</scope>
</dependency>
<!-- MYSQL -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!-- 数据源 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
</dependency>
</dependencies>
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*</include>
</includes>
</resource>
<resource>
<directory>src/main/lib</directory>
<targetPath>BOOT-INF/lib/</targetPath>
<includes>
<include>**/*.jar</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<targetPath>BOOT-INF/classes/</targetPath>
</resource>
</resources>
<finalName>${project.artifactId}</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- 跳过单元测试 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
</plugins>
</build>
</project>
mldong/mldong-admin/src/main/java/com/mldong/MldongAdminApplication.java
启动类
package com.mldong;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class MldongAdminApplication {
public static void main(String[] args) {
SpringApplication.run(MldongAdminApplication.class, args);
}
}
mldong/mldong-admin/src/main/java/com/mldong/modules/sys/controller/LoginController.java
登录控制器,就一个hello world
package com.mldong.modules.sys.controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class LoginController {
@GetMapping("hello")
public String hello() {
return "hello world";
}
}
mldong/mldong-admin/src/main/resources/application.yml
主配置文件
server:
port: 18080
spring:
application:
name: mldong-admin
profiles:
active: dev
jackson:
default-property-inclusion: non_null
time-zone: GMT+8
date-format: yyyy-MM-dd HH:mm:ss
datasource:
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: ${jdbc.driver-class-name}
url: ${jdbc.url}
username: ${jdbc.username}
password: ${jdbc.password}
max-idle: ${jdbc.max-idle}
max-wait: ${jdbc.max-wait}
min-idle: ${jdbc.min-idle}
aop:
proxy-target-class: true
auto: true
mldong/mldong-admin/src/main/resources/application-dev.yml
开发环境配置
# jdbc 配置
jdbc.driver-class-name: com.mysql.cj.jdbc.Driver
jdbc.url: jdbc:mysql://localhost:3306/mldong?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&useSSL=false&serverTimezone=Asia/Shanghai
jdbc.username: root
jdbc.password:
jdbc.max-idle: 10
jdbc.max-wait: 10000
jdbc.min-idle: 5
mldong/mldong-common/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">
<parent>
<artifactId>mldong</artifactId>
<groupId>com.mldong</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<properties>
</properties>
<artifactId>mldong-common</artifactId>
<dependencies>
</dependencies>
</project>
mldong/mldong-generator/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">
<parent>
<artifactId>mldong</artifactId>
<groupId>com.mldong</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<properties>
</properties>
<artifactId>mldong-generator</artifactId>
<dependencies>
</dependencies>
</project>
mldong/mldong-mapper/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">
<parent>
<artifactId>mldong</artifactId>
<groupId>com.mldong</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<properties>
</properties>
<artifactId>mldong-mapper</artifactId>
<dependencies>
</dependencies>
</project>
先以最简单的目录结构创建工程目录文件,然后再导入
File->Import->Maven->Existing Maven Projects
启动运行项目
MldongAdminApplication.java
右键->Run As -> Java Application
访问页面
如项目启动正常,访问页面会出现 hello world ,到此,脚手架搭建完毕。本次只是先hello world,简单集成了spring-boot-devtools和druid,下一篇会集成mapper。
加入版本库,推送到git仓库
略
项目源码地址
- 后端
- 前端
相关文章
打造一款适合自己的快速开发框架-集成swaggerui和knife4j
打造一款适合自己的快速开发框架-通用类封装之统一结果返回、统一异常处理
打造一款适合自己的快速开发框架-mapper逻辑删除及枚举类型规范