创建springboot应用
创建SpringBoot应用
- 创建工程:New > New Project
md
1. Spring lnitializr
2. Name:fine-example
3. Type:Maven
4. Group:cn.finemap
5. Artifact:fine-example
6. Package name:cn.finemap.example
7. JDK:17
8. JAVA:17
9. Packaging:Jar- 删除工程中的.mvn,mvnw,mvnw.cmd
- 添加.gitignore
cmd
HELP.md
target/
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**
!**/src/test/**
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
### 授权 ###
/src/main/resources/fine-parent.lic
### VS Code ###
.vscode/配置fine-parent依赖
依赖
- pom.xml
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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<!-- 继承fine-parent -->
<parent>
<groupId>cn.finemap</groupId>
<artifactId>fine-parent</artifactId>
<version>1.0-RELEASE</version>
</parent>
<groupId>cn.finemap</groupId>
<artifactId>fine-example</artifactId>
<version>1.0-RELEASE</version>
<name>fine-example</name>
<description>案例工程</description>
<dependencies>
<!--fine-boot-->
<dependency>
<groupId>cn.finemap</groupId>
<artifactId>fine-boot</artifactId>
<version>${fine.version}</version>
</dependency>
<!-- fine-commons -->
<dependency>
<groupId>cn.finemap</groupId>
<artifactId>fine-commons</artifactId>
<version>${fine.version}</version>
</dependency>
<!-- fine-sql -->
<dependency>
<groupId>cn.finemap</groupId>
<artifactId>fine-sql</artifactId>
<version>${fine.version}</version>
</dependency>
<!-- fine-logs -->
<dependency>
<groupId>cn.finemap</groupId>
<artifactId>fine-logs</artifactId>
<version>${fine.version}</version>
</dependency>
<!-- fine-auth -->
<dependency>
<groupId>cn.finemap</groupId>
<artifactId>fine-auth</artifactId>
<version>${fine.version}</version>
</dependency>
<!-- fine-doc -->
<dependency>
<groupId>cn.finemap</groupId>
<artifactId>fine-doc</artifactId>
<version>${fine.version}</version>
</dependency>
<!--fine-cache-->
<dependency>
<groupId>cn.finemap</groupId>
<artifactId>fine-cache</artifactId>
<version>${fine.version}</version>
<optional>true</optional>
</dependency>
<!--fine-data-->
<dependency>
<groupId>cn.finemap</groupId>
<artifactId>fine-data</artifactId>
<version>${fine.version}</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring-boot.version}</version>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>配置
- src/main/resources/application.yml
yaml
spring:
profiles:
active: dev #开发环境:dev
include: sql,cache,doc,auth,data
application:
name: fine-example # 服务名称
datasource:
druid:
driver-class-name: com.mysql.cj.jdbc.Driver
username: fine
password: finemap@cn
url: jdbc:mysql://ip:port/fine_example?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=false&allowPublicKeyRetrieval=true
data:
redis:
port: 6379
host: 127.0.0.1
password:
database: 0
timeout: 10s
lettuce:
pool:
# 连接池最大连接数
max-active: 200
# 连接池最大阻塞等待时间(使用负值表示没有限制)
max-wait: -1ms
# 连接池中的最大空闲连接
max-idle: 10
# 连接池中的最小空闲连接
min-idle: 0
server:
port: 80 # 端口
servlet:
context-path: /fine-example # 服务名称
# springdoc-openapi项目配置
springdoc:
group-configs:
- group: '权限管理'
paths-to-match: '/**'
packages-to-scan: cn.finemap.auth
- group: '后台管理'
paths-to-match: '/**'
packages-to-scan: cn.finemap.data.base
- group: '数据管理'
paths-to-match: '/**'
packages-to-scan: cn.finemap.data.data
- group: '联表查询'
paths-to-match: '/**'
packages-to-scan: cn.finemap.data.union
- group: '聚合查询'
paths-to-match: '/**'
packages-to-scan: cn.finemap.data.aggr
- group: 'excel管理'
paths-to-match: '/**'
packages-to-scan: cn.finemap.data.excel
- group: 'fine服务'
paths-to-match: '/**'
packages-to-scan: cn.finemap.example
# 配置文档信息
info:
title: 案例工程
description: 案例工程-API文档
version: 1.0.0
contact:
name: 凡图科技
url: http://www.finemap.cn
knife4j:
# 开启生产环境屏蔽
production: false配置启动类
- 启动类推荐在
cn.finemap路径下
java
@Slf4j
@SpringBootApplication
@ComponentScan(basePackages = {"cn.finemap"})
public class FineExampleApplication {
// xxx:启动程序(应用授权)
}授权
框架授权
- 使用
fine-parent框架需要添加授权文件
获取授权
- 将启动日志中的如下信息,并附上用户名和手机号,发给管理员,获取授权文件
----------------------------------------------------------
凡图框架: fine-parent 框架授权
项目名称: 项目名称
机器码: xx-xx-xx-xx-xx-xx
授权状态: 授权失败
授权机器码:
创建日期:
授权日期:
用户信息-用户名:附自己名称
用户信息-手机号:附自己手机号
----------------------------------------------------------- 将管理员提供的授权文件
fine-parent.lic(不能修改名称),存放到项目工程/src/main/resources/fine-parent.lic路径中
打包授权
在项目打包的项目中,使用管理员(finemap|凡图|凡图科技)、永久授权,授权文件打包 管理员用户,不在打印授权信息
应用授权
- 使用
fine-example应用,用户需要申请添加授权文件,才可以部署启动
工程打包
- 程序打包:打成
jar包
install
- 程序启动:依赖jre环境(该启动程序在应用中存在)
bash
# 直接启动
java -jar xxx.jar
# 指定配置文件启动:application
java -Dfile.encoding=utf-8 -Dspring.config.location=.\conf\application.yaml -Dsun.java.command=xxx.jar -jar .\target\xxx.jar设置编码:-Dfile.encoding=utf-8 完全替代配置文件:-Dspring.config.location=.\conf\application.yaml 额外增加配置文件:-Dspring.config.additional-location=.\conf\application.yaml 命令行参数:java -Dsun.java.command=xxx.jar -jar .\target\xxx.jar
- 创建SpringBoot应用及部署
参考官网:springboot应用