Spring笔记

理论,代码

Spring官网:https://spring.io/

框架好处之一:解耦;要对框架有深刻理解;应用专家 or 技术专家?

spring概述

spring开源框架致力于J2EE各层的解决方案

Java创建对象的方式:new;从工厂取一个对象(工厂模式的应用);反射(按需分配);

spring就是按需分配,当你需要的时候再给你,spring有一个bean容器,用于缓存Java对象

spring两大特性IOC、AOP之IOC(见son模块)

IOC(控制反转)

IOC是面向对象编程中的一种设计原则,即不手动创建对象,交给spring来管理整个对象的生命周期。控制反转最常见的方式是DI(依赖注入),这是spring框架的核心。

springIOC特性解决了对象创建的问题、依赖关系维护的问题。

ioc,Spring的这个bean工厂容器主要是利用反射技术按需分配缓存对象,管理对象,描述依赖,依赖注入。Spring的bean工厂容器的作用就是缓存对象。

依赖关系对象的赋值交给spring容器来完成。

定义一个bean,只用一种配置方式以注入容器 -> xml配置或注解,自己写的class一般使用注解。而注入第三方对象写xml的bean。

spring两大特性IOC、AOP之AOP(见son2模块)

AOP(面向切面编程)

AOP基于IOC,AOP是对OOP的补充,但和OOP不冲突,这使代码内聚性更高。

AOP可以使软件各层耦合度降低,AOP有特定应用场景,面向切面就是软件的分层。一个功能,方法执行顺序,即层次。

所以,什么是AOP?面向切面编程,软件层次,ui->db(这需要调用很多方法,有调用顺序),db->ui,这有很多层,这就是面向切面,

过滤器就是面向切面编程思想。

把非功能性代码(如登录过滤)提取出来...,插入功能代码执行前或后,每个页面都写相同的code ,每个页面都要登录才能访问,故提取,这就是AOP。

设想:IOC是缓存bean,AOP是缓存非功能性方法。都是反射。

AOP底层机制:动态代理,就是为目标类(目标功能)加上前/后置代码。即定制了目标类。

spring对dao的支持(见son2模块)

springJDBC,创建备份数据表,加一字段:删除时间,动态代理删除日志[后通知],

spring事务处理,有操作日志,有问题可以重执行日志,这是spring对事务管理的支持。

spring:事务传播的管理

原文地址:https://www.cnblogs.com/yyjh/p/11961484.html