Spring是针对企业级应用而开发的开源型框架。其核心主要包括IOC(控制反转)、DI(依赖注入)以及AOP(面向切面编程)。
new或者getInstance方法来直接或间接创造,而在Spring中,其可以通过工厂模式为我们创建所需要的对象,我们只需要直接调用就可以了set方法或带参数的构造方法为创造的对象自动设置所需要的值
自动装配提供种中不同的模式供Spring容器自动装备Bean之间的依赖注入:
jdk动态代理与cglib代理jdk动态代理的方式,其通过该接口的实现类进行动态代理cglib代理的方式,其通过该类的一个集成子类进行动态代理不是,主要体现在多线程操作同一对象时,对这个对象的非静态变量的写操作。但是同样有两种解决方案:
@Transaction的声明式事务事务的传播是为了解决业务层方法之间的相互调用的事务问题,分为三个大类:
TransactionDefinition.ISOLATION_REPEATABLE_READ,Oracle采用TransactionDefinition.ISOLATION_READ_COMMITTEDSpring的通知指的是方法执行前后要做的动作,有5种类型:
@Builder注解,可以实现建造者模式,核心包括链式编程、静态内部类的使用以及build()方法创建外部对象首先需要明确几个重要概念:
解决循环依赖的流程:

redirect::forward:resultMap进行手动映射as起别名注:对于MyBatis Plus可以直接在实体类上添加@TableField注解进行映射或者使用resultType
limit达到分页的目的trim、where、set、foreach、if、choose、when、otherwise、bindsqlSessionFactoryBuilder、XMLConfigBuildersqlSessionFactory、ObjectFactoryErrorContext、LogFactorySqlNode及其子类ChooseSqlNodeBaseExecutor、SimpleExecutorcache.decorators子包PropertyTokenizer