写简洁java代码的小技巧
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代码的小技巧相关推荐
- 怎么才能学好Java编程写好Java代码?
动力节点Java培训最新上线Java实验班,等你来测试自己适不适合学习Java编程哦! 刚刚接触Java编程的朋友总会遇到一些情况,比如:跟着Java基础教程看过一遍后,自己写代码的时候却无从下手:写 ...
- amigo幸运字符什么意思_OMG,12 个精致的 Java 字符串操作小技巧,学它
字符串可以说是 Java 中最具有代表性的类了,似乎没有之一哈,这就好像直播界的李佳琪,脱口秀中的李诞,一等一的大哥地位.不得不承认,最近吐槽大会刷多了,脑子里全是那些段子,写文章都有点不由自主,真的 ...
- OMG,12 个精致的 Java 字符串操作小技巧,学它
字符串可以说是 Java 中最具有代表性的类了,似乎没有之一哈,这就好像直播界的李佳琪,脱口秀中的李诞,一等一的大哥地位.不得不承认,最近吐槽大会刷多了,脑子里全是那些段子,写文章都有点不由自主,真的 ...
- 网页代码常用小技巧!(2)
网页代码常用小技巧!(2) [转] 41.变换网页的鼠标光标 〈BODY style=CURSOR: url(http://203.73.125.205/~liangmi2/farmfrog01.cu ...
- VS开发中的代码编写小技巧——避免重复代码编写的几种方法
原文:VS开发中的代码编写小技巧--避免重复代码编写的几种方法 上一篇文章中程序员的幸福生活--有你的日子,每天都是情人节,收到了大家的很多好评.鼓励和祝福,非常感动,真诚的谢谢大家.也希望每个朋友都 ...
- 利用Scanner和Random类写的java猜字小游戏
利用Scanner和Random类写的java猜字小游戏 题目:随机生成一个数,然后键盘输入猜的数字,验证输入数和这个随机生成的数是否相等,一共有五次猜测机会,自动提示输入的数大了还是小了,如果五次都 ...
- Vue 工程代码阅读小技巧
Vue 工程代码阅读小技巧 对于一个刚刚接触 vue 的 小白白,怎样才能高效的阅读别人的 vue 工程代码.当然,有的项目有工程介绍,这令当别论,你就老老实实地看文档吧,看完差不多也了解业务流程了, ...
- cnc数控机床怎么使用计算机,五个数控机床CNC加工中心的编程代码加工小技巧!...
五个数控机床CNC加工中心的编程代码加工小技巧! CNC加工中心的加工过程中,有一点至关重要,那就是在编制程序和操作加工时,一定要避免使CNC加工中心发生碰撞.因为CNC加工中心的价格非常昂贵,少则几 ...
- LaTeX 写学术论文的一些小技巧
此文用于分享一些用 LaTeX 写学术论文的一些小技巧,并会不断更新中 ... 笔者安装的是 CTeX 和 TeXStudio 软件,这两个软件配合很好使用.尤其是 TeXStudio 使用起来很方便 ...
最新文章
- 博客从“新浪云“迁移到CSDN的说明
- python决策树分类 导入数据集_python+sklearn实现决策树(分类树)
- 在ubuntu上如何将多张图片或PDF合到一个PDF上
- 轻松理解—继承成员访问控制机制
- 苹果Apple Music正式登陆索尼PS5
- 华为手机连电脑_移动办公利器华为MatePad Pro:能写会画有键盘,能当电脑连手机...
- 群发的我不回??!!
- angular2 学习二 directives - 使用组件
- Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition(SPP-net)
- chrome浏览器关闭百度热搜——AdBlock插件
- 5G协议下载地址及介绍
- 用Java代码实现一个简单的聊天室功能
- Visual Studio调用约定 __cdecl、__stdcall和__fastcall
- 使用tkinter打造一个小说下载器,想看什么小说,就下什么
- QGIS编译---QGIS3.22.4 + Qt5.15.3 + VS2019 ---64位版本
- ContraD论文部分翻译与解读(Training GANs with Stronger Augmentations via Contrastive Discriminator)
- 微信小程序调用python分析图片_小帅丶干货之图像识别在微信小程序展示
- 圣诞节快到了,教大家用Python画一个简单的圣诞树和烟花,送给那个她
- 分频器的Verilog实现(偶数分频、奇数分频)
- @Autowired注入、构造器注入、setter注入的使用方式?区别?
热门文章
- HTML顶部状态栏更改背景,html css导航菜单点击后改变背景图片
- Mac安装Meld,并使用Meld作为git merge tool的工具
- 【PDN仿真笔记9-使用Sigrity PowerDC进行IR Drop仿真的方法】
- e420 thinkpad 开机黑屏_thinkpad E420开机黑屏主板门维修
- 无线测温模块在轧钢厂的应用
- 【CNC——第12篇】用Turbo PMAC驱动一个松下交流伺服电机以及I变量知识
- 文献阅读笔记:Unsupervised Machine Translation Using Monolingual Corpora Only
- kontron控创工控机触摸屏维修TFT15323常见故障
- Canal:部署Canal与Canal Admin
- coreldraw凹槽_Coreldraw教程:打造逼真静物写生