SpringBoot配置大全总结(一)
以application.properties属性文件为例:
1. 在pom.xml中配置Java版本:
1 2 3 4 5 6 7 8 9 | < plugin > < groupid >org.apache.maven.plugins</ groupid > < artifactid >maven-compiler-plugin</ artifactid > < version >3.6</ version > < configuration > < source >1.8</ source > < target >1.8</ target > </ configuration > </ plugin > |
2. 在pom.xml中设置项目编码:
1 2 3 4 5 | < properties > < project.build.sourceEncoding >UTF-8</ project.build.sourceEncoding > < project.reporting.outputEncoding >UTF-8</ project.reporting.outputEncoding > < java.version >1.8</ java.version > </ properties > |
3. 在属性文件中配置Tomcat
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | #启动端口 server.port= 8080 #当项目出错时跳转的页面 server.error.path=/error #session失效时间,30m表示 30 分钟 server.servlet.session.timeout=30m #项目路径名称,默认为/ server.servlet.context-path=/ #配置tomcat请求编码 server.tomcat.uri-encoding=utf- 8 #Tomcat最大线程数 server.tomcat.max-threads= 500 #存放Tomcat运行日志和临时文件的目录,若不配值则默认使用系统的临时目录 server.tomcat.basedir=/home/tmp |
4. 在属性文件中配置HTTPS
利用Java数字证书管理工具keytool生成一个数字证书,cmd命令窗口生成命令:
1 | keytool -genkey -alias tomcathttps -keyalg RSA -keysize 2048 -keystore key.p12 -validity 365 |
命令解释:
• -genkey 表示要创建一个新的密钥。
• -alias 表示 keystore 的别名。
• -keyalg 表示使用的加密算法是 RSA, 一种非对称加密算法.
• -keysize 表示密钥的长度.
• -keystore 表示生成的密钥存放位直。
• -validity 表示密钥的有效时间,单位为天。
将生成的数字证书添加到项目根目录下,在application.properties中做如下配置:
1 2 3 4 5 6 | #秘钥文件名 server.ssl.key- store=key.pl2 #秘钥别名,就是在cmd命令执行中alias的参数 server.ssl.key-alias=tomcathttps #秘钥密码,就是在cmd命令执行中输入的密码 server.ssl.key- store-password=l23456 |
在浏览器中访问项目时,记得添加信任即可访问。
5. 在pom.xml中配置Jetty服务器
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | < dependency > < groupid >org. springframework.boot</ groupid > < artifactid >spring-boot-starter-web</ artifactid > <!--禁用tomcat服务器--> < exclusions > < exclusion > < groupid >org.springframework.boot</ groupid > < artifactid >spring-boot-starter-tomcat </ artifactid > </ exclusion > </ exclusions > </ dependency > < dependency > < groupid >org.springframework.boot</ groupid > < artifactid >spring-boot-starter-jetty</ artifactid > </ dependency > |
6. 切换启动环境配置
1 2 | #test:测试环境/dev:开发环境/prod:生产环境 spring.profiles.active=test/dev/prod |
7.整合Thymeleaf模板属性配置
在pom.xml中引入thymeleaf依赖,如下:
1 2 3 4 | < dependency > < groupid >org.springframework.boot</ groupid > < artifactid >spring-boot-starter-thymeleaf</ artifactid > </ dependency > |
常见的属性配置:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | #是否开启缓存,开发时可设置为 false ,默认为 true spring.thymeleaf.cache= true #检查模板是否存在,默认为 true spring.thymeleaf.check-template= true #检查模板位置是否存在,默认为 true spring.thymeleaf.check-template-location= true #模板文件编码 spring.thymeleaf.encoding=UTF- 8 #模板文件位置 spring.thymeleaf.prefix=classpath:/templates/ #Content-Type 配置 spring.thymeleaf.servlet.content-type=text/html #模板文件后缀 spring.thymeleaf.suffix=.html |
8. 整合Freemarker模板属性配置
在pom.xml中引入freemarker依赖配置,如下:
1 2 3 4 | < dependency > < groupId >org.springframework.boot</ groupId > < artifactId >spring-boot-starter-freemarker</ artifactId > </ dependency > |
常见的属性配置:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | #HttpServletRequest 的属性是否可以覆盖 controller 中 model 的同名项 spring.freemarker.allow-request-override= false #HttpSession 的属性是否可以覆盖 controller 中 model 的同名项 spring.freemarker.allow-session-override= false #是否开启缓存 spring.freemarker.cache= false #模板文件编码 spring.freemarker.charset=UTF- 8 #是否检查模板位置 spring.freemarker.check-template-location= true #Content-Type 的值 spring.freemarker.content-type=text/html #是否将 HttpServletRequest 中的属性添加到 Model 中 spring.freemarker.expose-request-attributes= false #是否将 HttpSession 中的属性添加到 Model 中 spring.freemarker.expose-session-attributes= false #模板文件后缀 spring.freemarker.suffix=.ftl #模板文件位置 spring.freemarker.template-loader-path=classpath: /templates/ #设定静态文件路径,js,css等 spring.mvc. static -path-pattern=/ static /** |
9. 数据库连接配置
MySQL连接配置:
(1) 引入jar包依赖环境
1 2 3 4 5 | < dependency > < groupId >mysql</ groupId > < artifactId >mysql-connector-java</ artifactId > < scope >runtime</ scope > </ dependency > |
(2)属性文件配置
1 2 3 4 5 6 7 8 9 | #连接驱动 #spring.datasource.driver- class -name=com.mysql.jdbc.Driver spring.datasource.driver- class -name=com.mysql.cj.jdbc.Driver #连接url spring.datasource.url=jdbc:mysql: //127.0.0.1:3306/test?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8&useSSL=true #账号 spring.datasource.username=root #密码 spring.datasource.password=root |
Oracle连接配置:
(1) 引入jar包依赖环境
1 2 3 4 5 6 | <!-- https://mvnrepository.com/artifact/com.oracle/ojdbc6 --> < dependency > < groupId >com.oracle</ groupId > < artifactId >ojdbc6</ artifactId > < version >11.2.0.3</ version > </ dependency > |
(2)属性文件配置
1 2 3 4 5 | #oracle配置 spring.datasource.driverClassName=oracle.jdbc.driver.OracleDriver spring.datasource.url=jdbc:oracle:thin: @127 .0. 0.1 : 1521 :test spring.datasource.username=root spring.datasource.password= 123456 |
SQL Server连接配置:
(1) 引入jar包依赖环境
1 2 3 4 5 | < dependency > < groupId >com.microsoft.sqlserver</ groupId > < artifactId >mssql-jdbc</ artifactId > < scope >runtime</ scope > </ dependency > |
(2)属性文件配置
1 2 3 4 5 | #SQLServer配置 spring.datasource.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver spring.datasource.url=jdbc:sqlserver: //127.0.0.1:1433;DatabaseName=test spring.datasource.username=sa spring.datasource.password= 123456 |
PostgreSQL连接配置
(1) 引入jar包依赖环境
1 2 3 4 5 | <!-- postgresql驱动 --> < dependency > < groupId >org.postgresql</ groupId > < artifactId >postgresql</ artifactId > </ dependency > |
(2)属性文件配置
1 2 3 4 5 | #PostgreSQL配置 spring.datasource.driverClassName=org.postgresql.Driver spring.datasource.url=jdbc:postgresql: //127.0.0.1:5432/test spring.datasource.username=postgres spring.datasource.password= 123456 |
H2数据源连接配置:
(1) 引入jar包依赖环境
1 2 3 4 5 | < dependency > < groupId >com.h2database</ groupId > < artifactId >h2</ artifactId > < scope >runtime</ scope > </ dependency > |
(2)属性文件配置
1 2 3 4 5 6 7 8 9 10 11 | #连接驱动 spring.datasource.driver- class -name=org.h2.Driver #数据表结构信息 spring.datasource.schema=classpath:db/schema-h2.sql #数据表数据 spring.datasource.data=classpath:db/data-h2.sql #连接url spring.datasource.url=jdbc:h2:mem:test #账户密码 spring.datasource.username=root spring.datasource.password=test |
MongoDB连接配置
(1)引入jar包依赖环境
1 2 3 4 5 | !-- spring-boot-starter-data-mongodb --> < dependency > < groupId >org.springframework.boot</ groupId > < artifactId >spring-boot-starter-data-mongodb</ artifactId > </ dependency > |
(2)属性文件配置:
MongoDB 2.4以下版本:
1 2 3 4 5 6 7 8 9 | # 主机地址 spring.data.mongodb.host= 127.0 . 0.1 # 端口 spring.data.mongodb.port= 27017 # 账号密码 spring.data.mongodb.username=root spring.data.mongodb.password=root # 数据库 spring.data.mongodb.database=test |
MongoDB 2.4以上版本:
1 | spring.data.mongodb.uri=mongodb: //root(userName):root(password)@localhost(ip地址):27017(端口号)/test(collections/数据库) |
示例:spring.data.mongodb.uri=mongodb://root:root@127.0.0.1:27017/test
10. 发送邮件配置
(1)引入jar包依赖环境
1 2 3 4 5 6 7 8 9 | < dependency > < groupId >org.springframework.boot</ groupId > < artifactId >spring-boot-starter-mail</ artifactId > </ dependency > < dependency > < groupId >com.sun.mail</ groupId > < artifactId >javax.mail</ artifactId > < version >RELEASE</ version > </ dependency > |
(2) 属性文件配置
1 2 3 4 5 6 7 8 9 10 11 12 | # 163 邮箱 spring.mail.host=smtp. 163 .com spring.mail.username=xxx @163 .com spring.mail.password=xxx #qq邮箱 #spring.mail.host=smtp.qq.com #spring.mail.username=xxx @qq .com #spring.mail.password=xxx spring.mail. default -encoding=UTF- 8 #其他邮箱配置类似 |
| |
4、@Slf4j 依赖
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
5、Eureka服务端
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
6、Eureka客户端
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
需要添加以下依赖 ,否则会报错: Completed shut down of DiscoveryClient
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>