-
本章节将介绍多模块搭建springboot 项目
-
开发环境
- jdk1.8
- springboot 2.1.1.RELEASE
- 开发工具(IntelliJ IDEA 2017.1.1)
- 数据库(mysql)
- 连接池 (druid)
-
多模块项目搭建
1、创建maven 项目
图片.png 图片.png 图片.png-
项目生成后 删掉 项目中 的 src 文件, 如下图
2、整个项目打算分为4个模块
- bean模块,用于存放所有的实体类
- dao 模块 ,用于数据处理
- service ,用来处理业务逻辑
- web ,用来接收用户请求,与数据展示
3、创建子模块
-
bean ,dao ,service 模块 以下面的方式去生成
-
对着父工程右键 - New - Module - >
图片.png
-
web 模块,选择以springboot 项目类型去创建
-
对着父工程右键 - New - Module - >
图片.png
图片.png
-
生成后的项目目录如下图
4、添加项目依赖 ,修改配置pom.xml 文件
- 修改 父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.boot</groupId>
<artifactId>shareModule</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<modules>
<module>bean</module>
<module>dao</module>
<module>service</module>
<module>web</module>
</modules>
<!-- 继承说明:这里继承SpringBoot提供的父工程 -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.1.RELEASE</version>
<relativePath/>
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>provided</scope>
<!--optional我没弄明白,都说必须为true,但我测试true,false,不加都可以-->
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.0</version>
</dependency>
<!-- mybatis分页插件 -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<!-- 连接池-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.0.29</version>
</dependency>
<!-- 添加缓存支持-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-cache</artifactId>
</dependency>
<!-- 添加redis-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt</artifactId>
<version>0.7.0</version>
</dependency>
</dependencies>
</project>
-
修改配置文件(复制的时候 注意看看是否格式对齐正确)
spring:
datasource:
url: jdbc:mysql://localhost:3306/boot?characterEncoding=utf8&useSSL=true
username: root
password: root
driver-class-name: com.mysql.jdbc.Driver
platform: mysql
type: com.alibaba.druid.pool.DruidDataSource
#配置监控统计拦截的filters,去掉后监控界面sql将无法统计,'wall'用于防火墙
filters: stat, wall, log4j
#初始化数量
initialSize: 1
minIdle: 3
#最大活跃数
maxActive: 20
#最大连接等待超时时间
maxWait: 60000
#打开pscache ,并且制定每个连接pscache 的大小
poolPreparedStatements: true
maxPoolPreparedStatementPerConnectionSize: 20
#通过connectionProperties 属性来打开 mergesql 功能 慢sql 记录
connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
timeBetweenEvictionRunsMillis: 60000
minEvictableIdleTimeMillis: 300000
validationQuery: select 1 from dual
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
mybatis:
configuration:
map-underscore-to-camel-case: true #开启数据库与bean 驼峰命令约定,自动对应到实体类
mapper-locations: classpath*:/mapper/*.xml
type-aliases-package: com.boot.module
-
开启Druid监控功能(剩余晚点更新)
网友评论