1.maven中央仓库设置 把中央仓库镜像设置错了,导致设置失效,一直从默认中央仓库下载依赖,蠢 2.单元测试启动失败 Cannot instantiate test(s): java.lang.SecurityException: Prohibited package name: java.com. 单元测试一级包名不能是java 3.tomcat启动失败,报ClassNotFound 原因是项目里需要的jar包没有导入 解决办法:project Structor->Artifacts->output layout 项目右键 put into output root 4.如何快速找到文件安装路径 右键软件->属性->快捷方式->打开文件所在路径 5.IDEA 启动tomcat 日志中文乱码解决 参考博客:https://blog.csdn.net/cyl101816/article/details/99618164 6.公司内网无法访问start.spring.io的问题 访问国内的网站 https://start.aliyun.com/ 哪位大佬能告诉我为什么访问不了官网
7.解决IDEA目录展开不了的问题 compact middle package
8.IDEA 2020.1.2激活解决 破解很简单,只需要先试用,然后将jar包拖到IDEA中即可,关键是jar包不好找,我找了好久才找到能用的jar包 9.IDEA git日志出现乱码 配置settings->terminal->Environment Variables 设置成 LESSCHARSET=utf-8 10.基本数据类型的包装类在比较是否相等时用equals,不用== 11.IDEA里的全局搜索 两个办法,一个是双击shift,这种搜索的好像有限,还有一种是ctrl+shift+F,或者Edit->Find->Find in path,这种搜索的更彻底 12.mybatis/mybatis plus 处理遇到表中的字段和保留字冲突的情况 加上反引号即可 13.IDEA本地部署springboot服务可以,服务器上部署失败 需要添加项目启动入口 14.关于mybatis的更新问题 首先mybatis的update操作返回值为1,表示表中存在这条数据,并不表示更新成功,返回值为0表示不存在这条数据 其次,更新时间,如果是mybatis自有的更新操作,则可以按下面的方式来自动更新时间 1.定义拦截器
@Component public class UpdateTimeFileHandler implements MetaObjectHandler { @Override public void insertFill(MetaObject metaObject) { this.setFieldValByName("createTime",new Date(),metaObject); this.setFieldValByName("updateTime",new Date(),metaObject); } @Override public void updateFill(MetaObject metaObject) { this.setFieldValByName("updateTime",new Date(),metaObject); } }2.添加全局配置
@Configuration public class MybatisPlusConfig { @Bean public GlobalConfig globalConfig(){ GlobalConfig globalConfig = new GlobalConfig(); globalConfig.setMetaObjectHandler(new UpdateTimeFileHandler()); return globalConfig; } }3.添加注解
@TableField(fill = FieldFill.INSERT) private Date createTime; @TableField(fill = FieldFill.INSERT_UPDATE) private Date updateTime;如果sql语句是自己写的话,只能通过在数据库中设置 这样,在真正更新数据时,会自动更新时间 15.如何让git忽略不需要关注的文件 创建.gitignore文件,在文件里添加不需要关注的文件 如果之前已经有文件被track了,然后想忽略它,必须先把本地缓存清除,然后再提交 git rm --cached --force target/* 然后再提交,那么以后生成的target文件会自动被忽略 16.springboot的事务 1.在方法上添加@Transactional注解 2.在启动类上添加@EnableTransactionManagement注解 3.注意如果一个方法使用了事务,同一个类中的其他方法调用该方法会使事务失效 4.单元测试时,在测试方法或者类上加@Transactional ,默认自动回滚,如果希望不回滚,可以加注解@RollBack(false),如果正常,事务不回滚,如果异常,会回滚 5.多数据源时,需要添加数据源 17.项目日志打印不出来的问题
这里的感触是打印出来的信息真的很重要,不管它是warn还是error,开始我在网上找了很多方法,都没弄好,后来,我就看了这个爆红的部分,说是有两个jar包冲突,由于下面的log4j-slf4j-impl是我导入的,所有只要找到第一个,然后排除掉即可,我可太开心了 18.异常信息打印到日志中的问题 一般的捕获异常后调用e.printStackTrace() 只是将异常打印到控制台,不会打印到日志里,如果想将完整的异常信息打印到日志中,有两种方式,第一种是不对异常进行捕获,这样异常自动会被打印到日志中,另一种是log.error("",e),这样也会将异常信息完整打印到日志中,这里我使用的@Slf4j这个注解 19.开发过程分支管理 分支管理 1.开发从master拉分支 2.测试merge 到 dev分支进行测试 3.上线 merge 到 master分支上线 4.测试时要记得push到远程仓库,这样别人测试时可以pull到你要测试的代码 5.同理上线的时候要push到远程仓库 6.千万不要将dev 分支merge到开发分支,千万不要,因为上面很可能有别人的开发代码,这样会导致你的代码不干净,处理起来很麻烦 20.IDEA git log 中文乱码 settings->terminal->Environment Variables:LESSCHARSET=utf-8