以application.properties属性文件为例:
1. 在pom.xml中配置Java版本:
<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中设置项目编码:
<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
#启动端口 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命令窗口生成命令:
keytool -genkey -alias tomcathttps -keyalg RSA -keysize 2048 -keystore key.p12 -validity 365
命令解释:
• -genkey 表示要创建一个新的密钥。
• -alias 表示 keystore 的别名。
• -keyalg 表示使用的加密算法是 RSA, 一种非对称加密算法.
• -keysize 表示密钥的长度.
• -keystore 表示生成的密钥存放位直。
• -validity 表示密钥的有效时间,单位为天。
将生成的数字证书添加到项目根目录下,在application.properties中做如下配置:
#秘钥文件名 server.ssl.key- store=key.pl2 #秘钥别名,就是在cmd命令执行中alias的参数 server.ssl.key-alias=tomcathttps #秘钥密码,就是在cmd命令执行中输入的密码 server.ssl.key- store-password=l23456
在浏览器中访问项目时,记得添加信任即可访问。
5. 在pom.xml中配置Jetty服务器
<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. 切换启动环境配置
#test:测试环境/dev:开发环境/prod:生产环境 spring.profiles.active=test/dev/prod
7.整合Thymeleaf模板属性配置
在pom.xml中引入thymeleaf依赖,如下:
<dependency> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-starter-thymeleaf</artifactid> </dependency>
常见的属性配置:
#是否开启缓存,开发时可设置为 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依赖配置,如下:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker</artifactId> </dependency>
常见的属性配置:
#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/**