1. 定义配置文件信息

有时候我们为了统一管理会把一些变量放到 yml 配置文件中

例如

用 @ConfigurationProperties 代替 @Value

使用方法

定义对应字段的实体

@Data
// 指定前缀
@ConfigurationProperties(prefix = "developer")
@Component
public class DeveloperProperty {
    private String name;
    private String website;
    private String qq;
    private String phoneNumber;
}

@Data
// 指定前缀
@ConfigurationProperties(prefix = "developer")
@Component
public class DeveloperProperty {private String name;private String website;private String qq;private String phoneNumber;
}

使用时注入这个bean

@RestController
@RequiredArgsConstructor
public class PropertyController {final DeveloperProperty developerProperty;@GetMapping("/property")public Object index() {return developerProperty.getName();}
}

2. 用@RequiredArgsConstructor代替@Autowired

我们都知道注入一个 bean 有三种方式哦(set 注入, 构造器注入, 注解注入),Spring 推荐我们使用构造器的方式注入 Bean

我们来看看上段代码编译完之后的样子

RequiredArgsConstructor:lombok提供

3. 不要返回 null

反例

正例

别处调用方法时,避免不必要的空指针

optional 判空

//获取子目录列表
public List<CatalogueTreeNode> getChild(String pid) {if (V.isEmpty(pid)) {pid = BasicDic.TEMPORARY_DIRECTORY_ROOT;}CatalogueTreeNode node = treeNodeMap.get(pid);return Optional.ofNullable(node).map(CatalogueTreeNode::getChild).orElse(Collections.emptyList());}

4. if else

不要太多了if else if,可以试试策略模式代替

5. 减少controller业务代码

业务代码尽量放到service层进行处理,后期维护起来也好操作而且美观

反例

正例

写简洁java代码的小技巧相关推荐

  1. 怎么才能学好Java编程写好Java代码?

    动力节点Java培训最新上线Java实验班,等你来测试自己适不适合学习Java编程哦! 刚刚接触Java编程的朋友总会遇到一些情况,比如:跟着Java基础教程看过一遍后,自己写代码的时候却无从下手:写 ...

  2. amigo幸运字符什么意思_OMG,12 个精致的 Java 字符串操作小技巧,学它

    字符串可以说是 Java 中最具有代表性的类了,似乎没有之一哈,这就好像直播界的李佳琪,脱口秀中的李诞,一等一的大哥地位.不得不承认,最近吐槽大会刷多了,脑子里全是那些段子,写文章都有点不由自主,真的 ...

  3. OMG,12 个精致的 Java 字符串操作小技巧,学它

    字符串可以说是 Java 中最具有代表性的类了,似乎没有之一哈,这就好像直播界的李佳琪,脱口秀中的李诞,一等一的大哥地位.不得不承认,最近吐槽大会刷多了,脑子里全是那些段子,写文章都有点不由自主,真的 ...

  4. 网页代码常用小技巧!(2)

    网页代码常用小技巧!(2) [转] 41.变换网页的鼠标光标 〈BODY style=CURSOR: url(http://203.73.125.205/~liangmi2/farmfrog01.cu ...

  5. VS开发中的代码编写小技巧——避免重复代码编写的几种方法

    原文:VS开发中的代码编写小技巧--避免重复代码编写的几种方法 上一篇文章中程序员的幸福生活--有你的日子,每天都是情人节,收到了大家的很多好评.鼓励和祝福,非常感动,真诚的谢谢大家.也希望每个朋友都 ...

  6. 利用Scanner和Random类写的java猜字小游戏

    利用Scanner和Random类写的java猜字小游戏 题目:随机生成一个数,然后键盘输入猜的数字,验证输入数和这个随机生成的数是否相等,一共有五次猜测机会,自动提示输入的数大了还是小了,如果五次都 ...

  7. Vue 工程代码阅读小技巧

    Vue 工程代码阅读小技巧 对于一个刚刚接触 vue 的 小白白,怎样才能高效的阅读别人的 vue 工程代码.当然,有的项目有工程介绍,这令当别论,你就老老实实地看文档吧,看完差不多也了解业务流程了, ...

  8. cnc数控机床怎么使用计算机,五个数控机床CNC加工中心的编程代码加工小技巧!...

    五个数控机床CNC加工中心的编程代码加工小技巧! CNC加工中心的加工过程中,有一点至关重要,那就是在编制程序和操作加工时,一定要避免使CNC加工中心发生碰撞.因为CNC加工中心的价格非常昂贵,少则几 ...

  9. LaTeX 写学术论文的一些小技巧

    此文用于分享一些用 LaTeX 写学术论文的一些小技巧,并会不断更新中 ... 笔者安装的是 CTeX 和 TeXStudio 软件,这两个软件配合很好使用.尤其是 TeXStudio 使用起来很方便 ...

最新文章

  1. 博客从“新浪云“迁移到CSDN的说明
  2. python决策树分类 导入数据集_python+sklearn实现决策树(分类树)
  3. 在ubuntu上如何将多张图片或PDF合到一个PDF上
  4. 轻松理解—继承成员访问控制机制
  5. 苹果Apple Music正式登陆索尼PS5
  6. 华为手机连电脑_移动办公利器华为MatePad Pro:能写会画有键盘,能当电脑连手机...
  7. 群发的我不回??!!
  8. angular2 学习二 directives - 使用组件
  9. Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition(SPP-net)
  10. chrome浏览器关闭百度热搜——AdBlock插件
  11. 5G协议下载地址及介绍
  12. 用Java代码实现一个简单的聊天室功能
  13. Visual Studio调用约定 __cdecl、__stdcall和__fastcall
  14. 使用tkinter打造一个小说下载器,想看什么小说,就下什么
  15. QGIS编译---QGIS3.22.4 + Qt5.15.3 + VS2019 ---64位版本
  16. ContraD论文部分翻译与解读(Training GANs with Stronger Augmentations via Contrastive Discriminator)
  17. 微信小程序调用python分析图片_小帅丶干货之图像识别在微信小程序展示
  18. 圣诞节快到了,教大家用Python画一个简单的圣诞树和烟花,送给那个她
  19. 分频器的Verilog实现(偶数分频、奇数分频)
  20. @Autowired注入、构造器注入、setter注入的使用方式?区别?

热门文章

  1. HTML顶部状态栏更改背景,html css导航菜单点击后改变背景图片
  2. Mac安装Meld,并使用Meld作为git merge tool的工具
  3. 【PDN仿真笔记9-使用Sigrity PowerDC进行IR Drop仿真的方法】
  4. e420 thinkpad 开机黑屏_thinkpad E420开机黑屏主板门维修
  5. 无线测温模块在轧钢厂的应用
  6. 【CNC——第12篇】用Turbo PMAC驱动一个松下交流伺服电机以及I变量知识
  7. 文献阅读笔记:Unsupervised Machine Translation Using Monolingual Corpora Only
  8. kontron控创工控机触摸屏维修TFT15323常见故障
  9. Canal:部署Canal与Canal Admin
  10. coreldraw凹槽_Coreldraw教程:打造逼真静物写生