springboot2.x 从零到一(2、插件及基础环境开发)

Easter79
• 阅读 473

1、用惯了idea,会觉得Eclipse质感较low。webstrom和idea界面美感和功能真香。下面先介绍几个自己也在用的插件,留名备份

1.1 lombok与swagger插件

setting — plugins 搜索lombok,安装重启。pom文件添加依赖就能用了。

<dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
</dependency>
    <!--swagger2-->
<dependency>
              <groupId>io.springfox</groupId>
              <artifactId>springfox-swagger2</artifactId>
              <version>2.6.1</version>
</dependency>
<dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.6.1</version>
</dependency>

注解开发@Data@Builder@AllArgsConstructor@NoArgsConstructor 包含了全参构造、无参构造、builder、set、get、tostring等方法,基本将模型中需要用到的方法全覆盖。如何使用百度下,不必多说。
springboot2.x 从零到一(2、插件及基础环境开发)
swagger2的用法(接口注解、可视化ui)
springboot2.x 从零到一(2、插件及基础环境开发)
springboot2.x 从零到一(2、插件及基础环境开发)

1.2 hibernate-validator参数校验

这些校验规则注解是在JSR 303(java)规范中定义的,但是JSR 303只是一个规范,并没有很多比较具体的实现。目前通常都是使用hibernate-validator进行统一参数校验,hibernate-validator是对JSR 303规范的实现。

<!-- spring-boot-start-web中已集成,在使用其他框架时自己选择是否需要加入--->
<dependency>
   <groupId>org.hibernate</groupId>
   <artifactId>hibernate-validator</artifactId>
   <version>5.2.4.Final</version>
</dependency>

springboot2.x 从零到一(2、插件及基础环境开发)
springboot2.x 从零到一(2、插件及基础环境开发)

1.3 Rainbow Brackets 多色的花括号(还是有点用的)

springboot2.x 从零到一(2、插件及基础环境开发)

1.4 Maven Helper

直接打开pom文件,即可查看依赖数,自动分析jar包是否存在冲突

springboot2.x 从零到一(2、插件及基础环境开发)

1.5 Jackson 用于序列化与反序列化

SpringBoot默认是使用Jackson作为JSON数据格式处理的类库,Jackson在各方面都比较优秀,且不需要导包。
反序列化:在客户端将请求数据上传到服务端的时候,自动的处理JSON数据对象中的字符串、数字,将其转换为包含Date类型、Integer等类型的对象。
序列化:按照指定的格式、顺序等将实体类对象转换为JSON字符串springboot2.x 从零到一(2、插件及基础环境开发)
springboot2.x 从零到一(2、插件及基础环境开发)

1.6 Free Mybatis Plugin: mybatis xml id与接口间跳转

1.7 常用的Utils工具类

    <dependency>
      <groupId>commons-lang</groupId>
      <artifactId>commons-lang</artifactId>
      <version>2.6</version>
    </dependency>

springboot2.x 从零到一(2、插件及基础环境开发)

1.8 Mybatis Log Plugin: 快速打印SQL语句
1.9 Alibaba Java Coding Guidelines: 阿里巴巴开发规范
https://github.com/alibaba/p3c
1.10 RestfulToolkit: 快速定位controller层接口、接口测试
1.11 CodeGlance: vscod右侧代码地图

2 配置文件写入与读取

2.1 加载全局配置

spring boot 会在启动初—run()—prepareEnvironment(准备环境)—configureEnvironment(配置环境)—configureProfiles(配置文件)—从load完成的配置文件中读取,默认只有一个全局配置文件:application.yml或application.properties
springboot2.x 从零到一(2、插件及基础环境开发)

2.2 配置文件的位置决定读取优先级 —1位置的配置优先级最高

springboot2.x 从零到一(2、插件及基础环境开发)

2.3 使用@ImportResource加载Spring的xml配置文件(可用于解决过滤器初始化阶段bean对象注入)

在spring boot应用入口启动类上加@ImportResource(locations = {“classpath:beans.xml”})
在没有Spring注解的时代,spring的相关配置都是通过xml来完成的,如:beans.xml。下面的XML配置的含义是:将com.asky.servicesDemo.service.TestBeanService实例化并注入到Spring上下文环境中。

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
    <bean id="testBeanService" class="com.zimug.bootlaunch.service.TestBeanService"></bean>
</beans>

2.4 SpringBoot整合Netflix Archaius实现配置管理

Archaius 开发指南 https://github.com/Netflix/archaius/wiki/Users-Guide
引入依赖Jar包

   <dependency>
      <groupId>com.netflix.archaius</groupId>
      <artifactId>archaius-core</artifactId>
      <version>0.7.6</version>
    </dependency>

动态读取配置项

private DynamicStringProperty hello = DynamicPropertyFactory.getInstance().getStringProperty("student.age","zhangSan");

配置config.properties

student.age=18

不重启即可完成配置项动态修改

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Wesley13 Wesley13
2年前
java将前端的json数组字符串转换为列表
记录下在前端通过ajax提交了一个json数组的字符串,在后端如何转换为列表。前端数据转化与请求varcontracts{id:'1',name:'yanggb合同1'},{id:'2',name:'yanggb合同2'},{id:'3',name:'yang
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Stella981 Stella981
2年前
Intellij IDEA中使用MyBatis
1、IDEA创建maven工程(略)2、在maven项目的pom.xml添加mybatisgeneratormavenplugin插件和MySQL数据库驱动依赖<build <plugins  <plugin   <groupIdorg.mybatis.generato
Wesley13 Wesley13
2年前
IDEA00 IDEA知识点汇总
一、从头搭建IDEA开发环境https://mp.weixin.qq.com/s/6jXHzkU8JfubhDsQJbwl8Q(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fmp.weixin.qq.com%2Fs%2F6jXHzkU8JfubhDsQJbwl8Q)1下
Stella981 Stella981
2年前
Eclipse插件开发_学习_00_资源帖
一、官方资料 1.eclipseapi(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fhelp.eclipse.org%2Fmars%2Findex.jsp%3Ftopic%3D%252Forg.eclipse.platform.doc.isv%252Fguide%2
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
京东云开发者 京东云开发者
10个月前
Intellij IDEA 插件开发 | 京东云技术团队
很多idea插件文档更多的是介绍如何创建一个简单的idea插件,本篇文章从开发环境、demo、生态组件、添加依赖包、源码解读、网络请求、渲染数据、页面交互等方面介绍,是一篇能够满足基本的插件开发工程要求的文章。
Python进阶者 Python进阶者
3个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这
Easter79
Easter79
Lv1
今生可爱与温柔,每一样都不能少。
文章
2.8k
粉丝
5
获赞
1.2k