我们有时候需要这样的功能,代码修改后,希望项目能自动重启,不然每次都要手动 Rerun 一样,很麻烦。
开启IDEA的自动编译
在 Compiler 里面勾选 Build project automatically
自动构建项目。
开启IDEA的热部署策略
点击 Edit Configurations…
在 pom.xml 加入依赖
1 | <dependency> |
之后,修改代码以后,项目会自动重新编译并重启了,开发也更有效率了。
我们有时候需要这样的功能,代码修改后,希望项目能自动重启,不然每次都要手动 Rerun 一样,很麻烦。
在 Compiler 里面勾选 Build project automatically
自动构建项目。
点击 Edit Configurations…
1 | <dependency> |
之后,修改代码以后,项目会自动重新编译并重启了,开发也更有效率了。
在 Java 程序中,向第三方发起一个 http 请求时,这时往往需要拼接第三方接口的 URL。
通过字符串+
或者 StringBuilder 的 append 方法,都不算是一个最佳实践。因为上述这两种方法都没办法把整个 URL 格式从代码中分离出来。
我觉得最佳实践是通过 String.format() 为 URL 做字符替换。
比如接口的 URL http://www.example.com/service?appid=%d&sign=%s
%d
为数字,%s
为字符串。
我们可以调用 String.format() 方法做参数替换。
1 | String url = String.format(url, 1000, "mySign"); |
结果为:http://www.example.com/service?appid=1000&sign=mySign
@JsonProperty, @JsonIgnore 和 @JsonFormat 注解都是 fasterxml jackson 里面的注解,现在也被 Spring Boot 集成了。
我们在使用上面的注解时,不需要在 pom.xml 显示的引入 fasterxml jackson 的依赖包。只需要加入如下依赖即可。
1 | <dependency> |
用于属性、setter / getter 方法上,属性序列化后可重命名。
1 | @JsonProperty("image_width") |
生成的 json 字符串就是image_width
和image_height
。
属性使用此注解后,将不被序列化。
用于格式化日期
1 | @JsonFormat(pattern = "yyyy-MM-dd") |