博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
springboot-3-其他配置
阅读量:5794 次
发布时间:2019-06-18

本文共 5875 字,大约阅读时间需要 19 分钟。

1, 热部署: 

有jrebel的话, 不用了, 不如jre好用

原理: 使用两个classLoad, 一个加载不改变的jar, 另一个加载可更改的jar, 发生改变后, 舍弃可更改的jar重新restart classloader, 由于加载的类少, 所以更快重启(5s以内)

1), 使用 spring-boot:run运行, 但会存在进程未结束

org.springframework.boot
spring-boot-maven-plugin
org.springframework
springloaded
1.2.4.RELEASE
repackage
exec

然后可以使用spring-boot:run来进行项目运行, 既可以实现热部署了

 

2), 如果使用run as java.. 需要将spring-loader-1.2.4.RELEASE.jar下载下来,放到项目的lib目录中,然后把IDEA的run参数里VM参数设置为:

-javaagent:.\lib\springloaded-1.2.4.RELEASE.jar -noverify

 3), 新添加的方法没法进行热部署, 所以: 不使用上面的方式, 使用如下方式: 需要eclipse开启 Build Automatically(自动编译)

添加依赖: 

org.springframework.boot
spring-boot-devtools
true
true

然后添加spring-boot-plugin插件: 

org.springframework.boot
spring-boot-maven-plugin
true

修改配置文件, 也会生效, 这个比jre好用

新建class也会生效

页面的修改也会生效, 但需要在applicaton.properties中设置  spring.thymeleaf.cache=false 来实现

需要eclipse开启build automatically, 如果设置springApplication.setRegisterShutdownHook(false) 自动重启不起作用

2, 更改端口号: 

在application.properties中:

server.port=9090

既可以完成修改了

 

 

3, 配置ContextPath

嗯, 在application.properties中修改

server.context-path=/spring-boot

就可以通过 http://ip:port/spring-boot来访问项目了

###########################################################EMBEDDED SERVER CONFIGURATION (ServerProperties)#########################################################server.port=8080#server.address= # bind to a specific NIC#server.session-timeout= # session timeout in seconds#the context path, defaults to '/'#server.context-path=/spring-boot#server.servlet-path= # the servlet path, defaults to '/'#server.tomcat.access-log-pattern= # log pattern of the access log#server.tomcat.access-log-enabled=false # is access logging enabled#server.tomcat.protocol-header=x-forwarded-proto # ssl forward headers#server.tomcat.remote-ip-header=x-forwarded-for#server.tomcat.basedir=/tmp # base dir (usually not needed, defaults to tmp)#server.tomcat.background-processor-delay=30; # in seconds#server.tomcat.max-threads = 0 # number of threads in protocol handler#server.tomcat.uri-encoding = UTF-8 # character encoding to use for URL decoding

 

4, 锁定jdk版本

maven-compiler-plugin
1.8
1.8

 5, 解决springboot的乱码问题

org.springframework.boot
spring-boot-maven-plugin
-Dfile.encoding=UTF-8
org.springframework
springloaded
1.2.6.RELEASE
repackage
exec

 

6, 打成jar包直接运行

pom.xml中加入: 

com.wenbronk.profiles.App
1.8
UTF-8

既可以通过

mvn clean package -Dmaven.skip.test=true

打成jar包, 然后通过命令

java -jar xxx.jar

运行, 否则会报错找不到主类之类的...

7, 打成war包运行, 

pom.xml需要添加: 

org.springframework.boot
spring-boot-starter-tomcat
provided

App类需要: 

package com.wenbronk.profile;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.boot.builder.SpringApplicationBuilder;import org.springframework.boot.web.support.SpringBootServletInitializer;import org.springframework.context.ConfigurableApplicationContext;@SpringBootApplicationpublic class App extends SpringBootServletInitializer {    /**     * war使用     */    @Override    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {        return application.sources(App.class);    }    /**     * jar使用     * @param args     * @throws Exception     * @time 2017年5月15日     */    public static void main(String[] args) throws Exception {        SpringApplication.run(App.class, args);    }}

 或者不在App上继承, 然后同一目录下 新建一个类: 

package com.wenbronk;import org.springframework.boot.builder.SpringApplicationBuilder;import org.springframework.boot.web.support.SpringBootServletInitializer;/** * war包使用 * @author wenbronk * @Date 下午3:12:13 */public class ServletInitializer extends SpringBootServletInitializer {    @Override    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {        return application.sources(MyOneProjecApplication.class);    }}

 

转载地址:http://gqffx.baihongyu.com/

你可能感兴趣的文章
L104
查看>>
CTOR有助于BCH石墨烯技术更上一层楼
查看>>
被遗忘的CSS
查看>>
Webpack中的sourcemap以及如何在生产和开发环境中合理的设置sourcemap的类型
查看>>
做完小程序项目、老板给我加了6k薪资~
查看>>
自制一个 elasticsearch-spring-boot-starter
查看>>
【人物志】美团前端通道主席洪磊:一位产品出身、爱焊电路板的工程师
查看>>
一份关于数据科学家应该具备的技能清单
查看>>
机器学习实战_一个完整的程序(一)
查看>>
Web框架的常用架构模式(JavaScript语言)
查看>>
CSS盒模型
查看>>
ng2路由延时加载模块
查看>>
使用GitHub的十个最佳实践
查看>>
脱离“体验”和“安全”谈盈利的游戏运营 都是耍流氓
查看>>
慎用!BLEU评价NLP文本输出质量存在严重问题
查看>>
JAVA的优势就是劣势啊!
查看>>
ELK实战之logstash部署及基本语法
查看>>
LINUX下防恶意扫描软件PortSentry
查看>>
如何 debug Proxy.pac文件
查看>>
Python 学习笔记 - 面向对象(特殊成员)
查看>>