- 博客(7)
- 资源 (17)
- 收藏
- 关注
原创 SpringBoot项目常用开发规范
表设计规范1、表名全部小写,单词间通过'_'间隔2、主键命名为'id',varchar(20),不使用数据库的序列,应用生成全局序列。3、必须包含4个审计字段且不能为空。created_time、updated_time、created_by、updated_by。4、关键词要求大写,使用IDE如idea进行格式化5、常量枚举全部用大写外键及索引命名规范1、唯一索引:u...
2020-03-25 10:40:37 3353
原创 如何在 Spring/Spring Boot 中做参数校验
目录基础设施搭建相关依赖标题实体类验证Controller的输入验证 Service 中的方法Validator 编程方式手动进行参数验证自定以 Validator(实用)使用验证组@NotNull vs @Column(nullable = false)(重要)参考数据的校验的重要性就不用说了,即使在前端对数据进行校验的情况下,我们还是要对传入后端的数据再进行一遍校验,避免用户绕过浏览器直接通...
2020-03-16 22:07:55 849
原创 @Transactional回滚问题(try catch、嵌套)
Spring 事务注解 @Transactional 本来可以保证原子性,如果事务内有报错的话,整个事务可以保证回滚,但是加上try catch或者事务嵌套,可能会导致事务回滚失败。Transactional是spring中定义的事务注解,在方法或类上加该注解开启事务。主要是通过反射获取bean的注解信息,利用AOP对编程式事务进行封装实现。如果错误抛到切面可以感知到的地步,那就可以起作用。
2020-03-16 17:57:20 2807 3
原创 SpringApplication run方法核心逻辑
run方法逻辑:SpringApplication的静态方法最终是去构造了一个SpringApplication实例对象,并调用了SpringApplication的成员方法runpublic static ConfigurableApplicationContext run(Class<?>[] primarySources, String[] args) { ...
2020-03-14 10:04:22 4206
转载 Spring Boot 自动配置原理
我们来举个示例,对照下这三个问题。在我们引入spring-boot-starter-web依赖,会创建一个 8080 端口的内嵌 Tomcat,同时可以通过application.yaml配置文件中的server.port配置项自定义端口。那么这三个问题的答案如下:友情提示:为了更易懂,这里的答案暂时是表象的,不绝对精准。壮着胆子,我们来看看 Spring...
2020-03-13 14:43:00 3849
原创 Java 代码优化细节
1、尽量指定类、方法的final修饰符带有final修饰符的类是不可派生的。在Java核心API中,有许多应用final的例子,例如java.lang.String,整个类都是final的。为类指定final修饰符可以让类不可以被继承,为方法指定final修饰符可以让方法不可以被重写。如果指定了一个类为final,则该类所有的方法都是final的。Java编译器会寻找机会内联所有的final方法...
2020-03-11 15:58:45 2196
原创 Maven 项目上传至中央仓库以及版本更新
如何将我们自己的库也能这样来使用呢?下面我们将详细的讲解每一步的过程:一、通过 sonatype 把你的开源库提交到Maven的中心库1、首先,在sonatype 官网中注册账号。进入官网的时候比较慢,需要耐心等待。注意要记住账号密码,会用于我们后续的发布及相关操作。在https://issues.sonatype.org 注册账号,需要注意的是密码必须超过 12 位,且包含至少一...
2020-03-07 23:09:46 6796
mysql-8.0.16-winx64.zip
2020-05-08
Java将pdf文件转换成String
2018-05-23
Ubuntu14.04下mysql的安装包和mysql的依赖包libaio和libmecab
2018-01-15
Git-2.11.0-64-bit安装包
2017-09-08
不用安装oracle数据库客户端Oracle安装包instantclient-basic-win32
2017-03-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人