1.在使用springboot 开发中,经常需要获取到配置文件的值,常用的方法是使用@Value(“${}”) 注解 ,也可以使用另外一种方式 直接在services 中注入Environment 类, 注意当输入的参数在配置文件中未找到对应的数据,会返回-1
@Autowired
private Environment environment;
@Test
public void test() {
// 未设置值时,值自动默认设置-1
System.out.println(environment.getProperty("server.port"));
// 也可以预先加上预期值,如果Key不存在就会就返回预期值21345
System.out.println(environment.getProperty("1233123121","21345"));
// 21345
System.out.println(environment.getProperty("spring.datasource.druid.initial-size"));
// 10
}
- 在检查代码格式的时候,总会遇到一些 自定义的字符串或者整数 ,使用idea 的快捷键
public static final String SERVER_PORT = "server.port";
@Autowired
private Environment environment;
@Test
public void test() {
// 未设置值时,值自动默认设置-1
// 提取魔法值 选中字符串或者数字 同时按 快捷键 ctrl + alt + c / option + command + c 自定义为 静态final 变量
System.out.println(environment.getProperty(SERVER_PORT));
// 提取魔法值定义为 变量 ctrl + alt + v / option + command + v
String value = "spring.datasource.druid.initial-size";
System.out.println(environment.getProperty(value));
}
- 切换分支的时候,如果本地修改的类不用提交,但是 其他分支的当前类又被修改的时候是无法切换的,那么需要把本地的分支内容进行缓存
这样就可以把本地的分支进行暂时隐藏,然后就可以切换到其他分支了.操作完其他分支需要切换回来的时候
选择刚才隐藏的内容,点击apply stash 恢复隐藏. 就恢复了上一步隐藏的未提交的内容了,然后再把建立的这个隐藏删除
- 不小心commit 了本地的代码,不需要push,想要取消commit 使用命令
git reset --soft HEAD^
如果add的也需要撤回,使用命令
git reset --hard HEAD^
注意 hard级别的撤回会 导致新add的类也会被删除,慎用.
此命令可同时用于回退到指定版本,具体用法是 将HEAD^ 换成想要退回的版本号
-
切换idea 最近查看的文件 ctrl+e / command +e
-
回退到上一步点击的地方 ctrl + alt + ← / option +command + ←
-
自定义快捷组合键盘
-
直接在接口上写实现类
按住alt+enter / option + 回车
选择 第三个选项
点击OK就新建了一个实现了接口的类
使用 流处理文件的时候,经常是定义一个InputStream和OutputStream 在最外面,然后在catch或者finally 里面进行关闭,如果项目中用了lombok 注解的话,可以用以下方式来进行简化代码
public static void main(String[] args) throws IOException {
String inFilePath = "";
String outFilePath = "";
@Cleanup FileInputStream fileInputStream = new FileInputStream(inFilePath);
@Cleanup BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(new FileOutputStream(outFilePath));
if (StrUtil.isNotEmpty(inFilePath)) {
byte[] bytes = new byte[1024 * 10];
int read = 0;
while ((read = fileInputStream.read(bytes)) != -1) {
bufferedOutputStream.write(bytes, 0, read);
}
}
}
在定义流的前面添加一个 @Cleanup 注解 就可以默认关闭流,编译后的代码如下
public static void main(String[] args) throws IOException {
String inFilePath = "";
String outFilePath = "";
FileInputStream fileInputStream = new FileInputStream(inFilePath);
try {
BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(new FileOutputStream(outFilePath));
try {
if (StrUtil.isNotEmpty(inFilePath)) {
byte[] bytes = new byte[10240];
boolean var6 = false;
int read;
while((read = fileInputStream.read(bytes)) != -1) {
bufferedOutputStream.write(bytes, 0, read);
}
}
} finally {
if (Collections.singletonList(bufferedOutputStream).get(0) != null) {
bufferedOutputStream.close();
}
}
} finally {
if (Collections.singletonList(fileInputStream).get(0) != null) {
fileInputStream.close();
}
}
}
idea 中的快捷键
ctrl+w 快速连按,选中当前字符串,当前字段,当前整个方法。
ctrl+p 代码参数提示
ctrl+q 查看方法有那些重载
ctrl+F12 在类中搜索方法
shift+F6 修改变量,类的名字,甚至可以将变量定义到方法的参数上(抽取参数为方法的变量)
shift+alt+↑/↓ 移动当前行代码的位置,shift+ctrl+↑/↓在方法上移动可以移动整个方法。
ctrl + 收起整个方法 ctrl - 放开整个方法
Alt + j 选中当前元素及 下一个引用的元素。此时修改的话,就是批量修改
光标同时选中多个元素,并进行修改,修改完成后,按esc 退出 批量修改。
ctrl+alt+shift+T 选中一个元素后,进行操作
ctrl+B 可以查看此方法在哪来被调用了。
Ctrl+E 查看最近打开的类 。 ctrl+shift + e
查看最近打开的类
想要引用一个类的 protected 方法 只需要自定义一个类,然后将他的方法改为public就可以了
class ExtendsBalancer extends Balancer {
public static Instance getHostByRandomWeight2(List<Instance> hosts){
return getHostByRandomWeight(hosts);
}
}
快速将内部类切换成外部类的方法
将内部类的static 关键字删除 然后按F6 ,此时idea就会跳出弹窗,选择需要保存的文件夹按确定,此时就会进行保存了.
内部类改为普通类对象
直接将内部类的类名选中 然后拖动到左边需要存放的包位置.就成为了普通类对象
idea 复制选中行而不是复制选择的内容
在keyMap 中删除 duplicate Lines or Selection
的快捷键 设置 duplicate Entire Lines
快捷键为 ctrl+D .
设置代码变化时,目录颜色跟着变化.
显示行号和分隔线.