zoukankan      html  css  js  c++  java
  • springboot 应用加强

    1 健康检查配置及测试

    在项目中添加健康检查依赖:

    <dependency>

    <groupId>org.springframework.boot</groupId>

    <artifactId>spring-boot-starter-actuator</artifactId>

    </dependency>

    健康检查分析:在浏览器中输入如下地址:

    http://localhost/actuator/health

    假如希望查看更多actuator选项,可以在spring boot中配置文件

    application.properties中添加如下语句:(生产环境不加)

    management.endpoints.web.exposure.include=*

    此时在浏览器地址栏可以输入.http://localhost/actuator/beans 查看所有的

    spring 容器中的bean信息。

    说明:当需要以一种更好的结构化方式查看bean相关信息,可以对Google浏览器安装jsonView插件,还可以直接在sts工具的Boot Dashboard中选中项目,查看其属性(show properties),这种方式重点掌握。


    3 热部署配置及实现

    基于SpringBoot的Web项目,修改了某个类以后,默认不会自动重新部署和加载,需要我们手动重启服务器。假如我们希望项目可以自动部署,可以添加如下依赖,进行热部署实现。

    <dependency>

    <groupId>org.springframework.boot</groupId>

    <artifactId>spring-boot-devtools</artifactId>

    <scope>runtime</scope>

    </dependency>

    说明:当我们修改了src/main/java目录下的java文件或修改了src/main/resources目录下的配置文件时,默认都会重启你的web服务器,但是修改了测试类或html文件不会自动重启和部署(但假如希望修改了html,在重启tomcat的情况下能开到页面模板内容的变化,需要配置spring.thymeleaf.cache=false)。

    热部署比较耗内存,因为修改一次就会部署一次

    Lombok是一个第三库,可以基于lombok中提供的API,在程序编译时自动织入一些方法。这样做的话可以简化我们对某些方法的编写,例如,省略pojo类中的set方法,get方法,toString等方法的编写。我们写的java程序可以在编译时,通过lombok自动将这些方法添加到.class文件中,其应用步骤如下:

    第一步:添加依赖。

    <dependency>

    <groupId>org.projectlombok</groupId>

    <artifactId>lombok</artifactId>

    </dependency>

    第二步:找到下载的lombok-xxx.jar依赖所在的位置。

    第三步:启动操作系统命令行客户端,并切换到lombok-xxx.jar文件所在的目录,然后,利用java –jar 指令启动lombok插件,如图-15所示:

     

    回车执行如上命令,会弹出选择安装对话框,如图-16所示:

     

    然后在弹出的框中选择sts启动执行文件(SpringToolSuite4.exe)进行安装,

    安装成功以后会出现如下弹出框,如图-17所示:

     

    安装成功以后可在STS工具的根目录看到一个lombok.jar文件,同时会在SpringToolSuite4.ini文件的尾部添加lombok.jar文件所在的具体路径,例如

    -javaagent:E:softwarests-4.5.3.RELEASElombok.jar。

    其中lombok.jar会默认创建在sts软件的根目录,如图-18所示:

     

     SpringToolSuite4.ini中最后一句是添加成功后自动生成的 如图:

    Lombok 常用注解分析:

    • @Setter 用于为描述的类生成setter方法,不包含final修饰属性。

    • @Getter 用于为描述的类生成getter方法。 

    • @ToString 用于为描述的类添加toString方法。 

    • @EqualsAndHashCode 用于为描述的类,生成hashCode和equals方法。 

    • @NoArgsConstructor 用于为描述的类生成无参的构造方法。 

    • @AllArgsConstructor 用于为描述的类生成包含类中所有字段的构造方法。

    •  @Data用于为描述的类生成setter/getter、equals、canEqual、hashCode、toString方法,如为final属性,则不会为该属性生成setter方法。 

    • @Slf4J 用于为描述的类添加一个日志属性对象  

    private static final Logger log =LoggerFactory.getLogger(Xxx.class);

    代码案例分析:

    package com.cy.pj.activity.pojo;
    @Data
    public class Activity {//.class
    private Long id;
    private String title;
    private String category;
    @DateTimeFormat(pattern = "yyyy/MM/dd HH:mm:ss")
    private LocalDateTime startTime;
    @DateTimeFormat(pattern = "yyyy/MM/dd HH:mm:ss")
    private LocalDateTime endTime;
    private Short state=1;//1 有效状态
    private String remark;
    private String createdUser;
    private LocalDateTime createdTime;
    }

    测试代码如下

    package com.cy.pj.pojo;
    import lombok.extern.slf4j.Slf4j;
    @Slf4j
    @SpringBootTest
    public class ActivityTests {
    @Test
    public void testAty01() {
    Activity aty=new Activity();
    aty.setId(10L);
    aty.setTitle("A-Title");
    aty.setCategory("A-Type");
    System.out.println(aty.getId());
    System.out.println(aty.getTitle());
    System.out.println(aty.getCategory());
    log.info(aty.toString());
    }
    }


  • 相关阅读:
    python 协程
    python 进程池的使用
    python 多进程数据交互及共享
    python 多进程
    技术博客与技术日记
    理解闭包
    jWriter一个基于jQuery的阅读写作网站的效果库
    ubuntu下phpmyadmin配置问题解决
    避免明文保存用户密码
    如何用css实现类似简书的纵向导航/竖排导航
  • 原文地址:https://www.cnblogs.com/wangjincai/p/13257210.html
Copyright © 2011-2022 走看看