通知分类
通知主要分为五类,由各自对应的注解调用:
@Before:方法执行前通知
@After:方法执行后,返回前通知,抛出异常仍会继续执行
@AfterReturning:方法执行后,返回后通知,抛出异常时不会执行
@AfterThrowing...
事务
事务指的是一组数据库的操作,这组操作要么同时成功,要么同时失败
事务特性
隔离性
不同事务之间彼此隔离,互不影响
原子性
每个事务是一个不可分割的整体
一致性
事务中的操作要么同时成功,要么同时失败,状态一致
持久性
事务在提交后影...
SSM框架的问题基于Spring框架的Java项目开发确实解决了模块之间复杂的依赖问题,但是仍然需要对引入的各种模块进行大量的配置。当我们想要对一个Spring项目引入Mybatis、Tomcat等开发常用的框架时,每一个框架都需要单独配置注入以及配...
依赖冲突当两个类同时依赖同一个类时,就可能发生冲突的问题,举例来说:当A引入了一个低版本的C,而B引入了一个高版本的C时,Maven就会无法得知此时应当引入哪个版本的C,此时则会发送依赖冲突的问题,导致程序抛出异常。
Exclude通过在需要被舍弃的...
约定大于配置SpringBoot采用约定优于配置的原则,对于整合的各种框架,采用一套默认的配置方案(约定),只有在开发者对其中的某一项有更改的需要时,再去配置文件中对特定项进行配置,简化了配置流程。
配置SpringBoot的application....
约定
k: v 表示键值对关系,冒号后面必须有一个空格
使用空格的缩进(且只支持空格,不支持Tab缩进)表示层级关系,空格数目不重要,只要是左对齐的一列数据,都是同一个层级的
大小写敏感
java中对于驼峰命名法,可用原名或使用-代替驼峰,如java...
dev-toolsSpringBoot支持热部署,即在修改代码内容后自动重新运行程序,这样在浏览器上可以实时观察到效果,而不需要手动地重新运行,且重启速度要优于手动重新运行,这一点是基于SpringBoot的dev-tools实现的
在pom.xml...
JUnit引入依赖在pom.xml中添加如下依赖
12345678910111213141516171819<dependency> <groupId>org.springframework.boot</group...
函数式编程
Complicated:复杂的,指一个事物由许多子部件组成,每一个子部件都有各自的用途
Complex:复合的,指指一个系统由许多相似的事物组成,这些事物彼此之间的交互构成了宏观系统的行为
函数式编程最大的特点在于拥有复合性,将类似的操...
类型声明相比 Java 的类型声明方式:
1String s=new String(“I am Java”)
Kotlin 将类型名置于变量后方:
1val s:String=“I am Kotlin”
类型推导Kotlin 支持隐式的类型声明,如...