zoukankan      html  css  js  c++  java
  • springboot(七)-系列功能配置

    热部署

    我们程序员在开发web项目的时候,避免不了需要将项目放到tomcat或者其他web容器中运行测试,而所有的程序员都有个习惯,从来都是以debug模式启动的(就好像谁不是这样启动就不是优秀的程序员似的)。这样做一方面可以打断点调式,二来我们修改了代码后不需要重新启动服务器。

    我们称之为热部署,spring boot有个专门支持热部署的配置

    在pom.xml文件中添加依赖:

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <optional>true</optional> <!-- 这个需要为 true 热部署才有效 -->
    </dependency>

    这样不管启动类是怎么运行的,只要项目中的代码有所改动,项目会很快自动重启生效。

    当然,想要在控制台看到重启的效果,需要添加插件:

    <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
    </plugin>

    添加自定义拦截器

    通常我们在做web开发的时候,有时候需要编写自己的拦截器(Interceptor),我们一般这样做:

    1. 编写自己的拦截器MyInterceptor,实现HandlerInterceptor接口,重写里面的方法afterCompletion,postHandle或者preHandle。

        2.在springmvc.xml文件中像这样配置:

                

    那么在springboot项目中我们没有写springmvc.xml文件,我们可以这样做:

    1. 同上,写自己的拦截器,实现HandlerInterceptor接口,重写里面的方法。

        2.上面是通过配置xml文件的方式将拦截器加载到项目中的,我们在springboot里面需要写一个配置类来完成,如下:

              

      两者完全等效。

    端口和上下文路径

    可以通过修改application.properties,修改访问的端口号和上下文路径

    server.port=8888

    server.context-path=/test

    原来访问localhost:8080/index

    现在就是localhost:8888/test/index

    如果你使用的是application.yml

    配置就是:

    server:

      port: 8888

      context-path: /test

    注意:每下一级前面推两格,冒号后面推一个空格。

    配置切换

    有时候在本地测试是使用8080端口,可是上线使用的又是80端口。 此时就可以通过多配置文件实现多配置支持与灵活切换。

    3个配置文件:

    核心配置文件:application.properties

    开发环境用的配置文件:application-dev.properties

    生产环境用的配置文件:application-pro.properties

    这样就可以通过application.properties里的spring.profiles.active 灵活地来切换使用哪个环境了。

    application.properties

    spring.mvc.view.prefix=/WEB-INF/jsp/

    spring.mvc.view.suffix=.jsp

    spring.profiles.active=pro

    application-dev.properties

    server.port=8080

    server.context-path=/test

    application-pro.properties

    server.port=80

    server.context-path=/

    当然,不仅可以通过修改application.properties文件进行切换,还可以在部署环境下,指定不同的参数来确保生产环境总是使用的希望的那套配置。

    java -jar target/springboot-0.0.1-SNAPSHOT.jar --spring.profiles.active=pro

    或者

    java -jar target/springboot-0.0.1-SNAPSHOT.jar --spring.profiles.active=dev

    这样就可以保证在开发环境总是用的8080端口,而到了生产环境用的80端口,免去了每次上线还要修改端口号的麻烦。

    DEBUG启动

    springboot项目在开发期间,我们经常需要debug模式启动。

    但是,我们每次启动都会停留在这个地方:

    然后点下F8完成启动。这就很烦了!!!

    那么我们需要设置一下,解决这个麻烦。

    选择eclipse  ->window  ->  Preferences  ->  Java ->  Debug 

    去掉选项“Suspend execution on uncaught exceptions”前面框框里面的勾。

    点击应用并关掉。

    再次Debug启动springboot项目,就不会在那个地方停一下了。

  • 相关阅读:
    JQuery POST请求乱码...
    open source e-business software
    about tomcat ssl
    使用汉文博士检索汉字
    使用汉文博士检索词条
    安装并运行汉文博士
    汉文博士正式版发布
    汉文博士新测试版0.5.3.2081发布
    汉文博士新测试版0.5.3.2020发布
    汉文博士新测试版0.5.3.2010发布
  • 原文地址:https://www.cnblogs.com/fengyuduke/p/10496563.html
Copyright © 2011-2022 走看看