整合JUnit
由于Spring的IoC特性,在JUnit中对Bean进行单元测试需要先创建ApplicationContext然后通过工厂获取Bean,较为繁琐
我们可以通过Spring中的Spring-test依赖整合Junit
12345<...
面向切面编程
面向切面编程(Aspect Oriented Programming)是用于将业务核心代码和业务无关的增强代码解耦合的技术,旨在不干涉核心代码的情况下动态实现日志、断点、监控、调试等增强功能。
Spring AOP提供了对Spring容...
AOP概念
AOP是基于一系列Aspect即切面实现的增强功能,其中定义了许多概念:
Joinpoint——连接点连接点指在程序中可以被扩展增强的代码,通俗地说,就是可以被增强的部分
其中Spring AOP仅支持对方法进行增强
Pointcut——...
通知分类
通知主要分为五类,由各自对应的注解调用:
@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...