随笔分类 - 【104】Java Spring入门
摘要:序言 IOC解决了类与类之间的紧耦合 AOP动态代理解决了方法之间的紧耦合 面向切面编程(AOP)通过提供另外一种思考程序结构的途经来弥补面向对象编程(OOP)的不足。 首先,我们知道Spring AOP的底层实现有两种方式:一种是JDK动态代理,另一种是CGLib的方式。 JDK的动态代理依靠接口
阅读全文
摘要:序言 Spring 1.x Spring 2.x Spring 3.x Spring 4.x Spring 5.x lambda 资料
阅读全文
摘要:序言 @Around注解 在执行controller中方法前打印出请求参数,并在方法执行结束后来打印出响应值 想在执行方法时动态修改参数值 常用于拦截器、事务、日志、权限验证等方面 资料 如何优雅的使用切面和注解实现权限验证 Spring AOP 切面利用@Around注解实现幂等性
阅读全文
摘要:序言 什么是循环依赖? Spring 如何解决循环依赖问题 先上个通俗的答案解释,三级缓存。 /** * 单例对象的缓存:bean 名称——bean 实例,即:所谓的单例池。 * 表示已经经历了完整生命周期的 Bean 对象 * <b>第一级缓存</b> */ Map<String, Object>
阅读全文
摘要:序言 1.扫描指定注解,并获得注解类的所有属性 extends ClassPathBeanDefinitionScanner 资料 https://www.bilibili.com/video/BV1MD4y197p2?p=16
阅读全文
摘要:序言 @NotEmpty 用在集合类上面 @NotBlank 用在String上面 @NotNull 用在基本类型上 @Nullable 如果可以传入NULL值,则标记为@Nullable,如果不可以,则标注为@Nonnull 在Java中,volatile、synchronized和final是三
阅读全文
摘要:1.DAO AccountDao.java package cn.mf.dao; public interface AccountDao { //加钱 void increaseMoney(Integer id,Double money); //减钱 void decreaseMoney(Integ
阅读全文
摘要:1.DAO AccountDao.java package cn.mf.dao; public interface AccountDao { //加钱 void increaseMoney(Integer id,Double money); //减钱 void decreaseMoney(Integ
阅读全文
摘要:概念 1.事务 1)事务特性:ACID 原子性 :强调事务的不可分割. 一致性 :事务的执行的前后数据的完整性保持一致. 隔离性 :一个事务执行的过程中,不应该受到其他事务的干扰. 持久性 :事务一旦结束,数据就持久到数据库. 2)事务并发问题 脏读 :一个事务读到了另一个事务的未提交的数据. 不可
阅读全文
摘要:1.导包 2.JdbcTemplate package cn.cnki.JdbcTemplate; import java.util.List; import org.junit.Test; import org.springframework.jdbc.core.BeanPropertyRowMa
阅读全文
摘要:什么是AOP @Aspect // 声明一个切面 @Component public class MyAspect { // 原业务方法执行前 @Before("execution(public void com.rudecrab.test.service.*.doService())") publ
阅读全文
摘要:序言 Spring Bean到底是什么?解决什么问题? 解决主动new各种对象的问题 bean就是由IOC容器初始化、装配及管理的对象 Spring中的bean默认都是单例的,就是在创建起容器时就同时自动创建了一个bean的对象,不管你是否使用,他都存在了,每次获取到的对象都是同一个对象。 @Bea
阅读全文
摘要:序言 Spring框架的七大模块 Spring Core:框架的最基础部分,提供 IoC 容器,对 bean 进行管理。 Spring Context:继承BeanFactory,提供上下文信息,扩展出JNDI、EJB、电子邮件、国际化等功能。 Spring DAO:提供了JDBC的抽象层,还提供了
阅读全文