# 基础构建
# 前言
基础搭建如不想看文档,可参照提供的示例项目
https://github.com/starmcc/framework-demo
该项目完整的贴出怎么进行配置。
# Maven添加依赖
中央仓库查询:https://search.maven.org/
阿里仓库查询:https://maven.aliyun.com/mvn/search
<dependency>
<groupId>com.starmcc</groupId>
<artifactId>qm-framework</artifactId>
<version>1.3.0-RELEASE</version>
</dependency>
1
2
3
4
5
2
3
4
5
注意:框架底层依赖springboot2.2.5以上版本。
已依赖
mybatis-spring-boot-starter
,spring-boot-starter-web
下面是一套基础的Maven配置
注意:
druid连接池从1.3.0开始已移除出依赖,如有需要可参照例子中增加依赖即可。 1.3.0以下无需自行依赖。
<?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>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.5.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.starmcc.demo</groupId>
<artifactId>framework</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>framework</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.10</version>
</dependency>
<dependency>
<groupId>com.starmcc</groupId>
<artifactId>qm-data</artifactId>
<version>2.1.0-RELEASE</version>
</dependency>
<dependency>
<groupId>com.starmcc</groupId>
<artifactId>qm-framework</artifactId>
<version>1.3.0-RELEASE</version>
</dependency>
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.13</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# 添加配置
在springboot
中的application.yml
添加下列配置。
qmframework:
# ※※※※※※※※※通讯配置※※※※※※※※※
transmit:
# 请求数据时,最外层的key名(rest风格)
request-key: 'value'
# 返回数据时,最外层的key名(rest风格)
response-key: 'value'
# 返回数据时,默认message的语言 EN/CN
response-message-lang: EN
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
配置数据源Druid
spring:
datasource:
druid:
driver-class-name: 'com.mysql.cj.jdbc.Driver'
url: 'jdbc:mysql://localhost:3306/test'
username: 'root'
password: '123456'
# 连接池的配置信息
# 初始化大小,最小,最大
initial-size: 5
min-idle: 5
maxActive: 20
# 配置获取连接等待超时的时间
maxWait: 60000
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
timeBetweenEvictionRunsMillis: 60000
# 配置一个连接在池中最小生存的时间,单位是毫秒
minEvictableIdleTimeMillis: 300000
validationQuery: SELECT 1 FROM DUAL
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
# 打开PSCache,并且指定每个连接上PSCache的大小
poolPreparedStatements: true
maxPoolPreparedStatementPerConnectionSize: 20
# 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
filters: stat,wall,slf4j
# 通过connectProperties属性来打开mergeSql功能;慢SQL记录
connectionProperties: 'stat.mergeSql=true;druid.stat.slowSqlMillis=5000'
# 配置DruidStatFilter
web-stat-filter:
enabled: true
url-pattern: "/*"
exclusions: "*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*"
# 配置DruidStatViewServlet
stat-view-servlet:
url-pattern: "/druid/*"
# IP白名单(没有配置或者为空,则允许所有访问)
allow: 127.0.0.1
# IP黑名单 (存在共同时,deny优先于allow)
deny:
# 禁用HTML页面上的“Reset All”功能
reset-enable: false
# 登录名
login-username: admin
# 登录密码
login-password: 123456
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
这里以
spring boot
+mybatis
的模式为例,设置application.yml
mybatis:
# 指定实体类包路径
type-aliases-package: com.starmcc.demo.framework.entity
# 指定QmData基础Maapper路径
# 框架内部的Mapper文件存放路径:classpath:com/starmcc/qmdata/mapper/*.xml
# 建议使用classpath*:**/*Mapper.xml
# 可扫描整个项目中带有Mapper.xml结尾的文件
mapper-locations:
- 'classpath*:**/*Mapper.xml'
configuration:
#是否启动数据库下划线自动映射实体
map-underscore-to-camel-case: true
# resultMap 自动映射级别设置
auto-mapping-behavior: full
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
# 进入开发
application
启动类配置@MapperScan
@SpringBootApplication
@Import({
QmFrameworkApplication.class, // qm-framework 主要依赖配置
QmExceptionHandler.class, // qm-framework 引入全局异常捕获
})
// 扫描项目中的dao接口文件进行mybatis接口映射
@MapperScan("com.starmcc.demo.framework.dao")
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14

上方使用 @Import 导入框架配置
QmFrameworkApplication
是框架的主配置类,请必须导入它。
QmExceptionHandler
是全局异常配置类,导入即启用全局异常捕获,并以json
的形式返回。建议导入。
其他配置请参考相关功能点说明。
启动项目,数据库配置没有错误的情况下,启动成功!
← Qm-Framework 配置模板 →