spring整理

简介: Spring:是一个完整的mvc框架提供了从表现层,业务层,持久层的一套完整的解决方案,它的核心是IOC和AOP是我们的程序耦合降低代码简洁. IOC控制反转,原来我们使用一个对象需要去自己创建一个该对象的实例,IOC的作用就是我们把对象实例的创建交给spring,spring会将对象实例创建出来存放到spring IOC容器中,当我们要用的时候直接去取实例就行不用我们在自己创建对象实例.
  • Spring:是一个完整的mvc框架提供了从表现层,业务层,持久层的一套完整的解决方案,它的核心是IOC和AOP是我们的程序耦合降低代码简洁.
  • IOC控制反转,原来我们使用一个对象需要去自己创建一个该对象的实例,IOC的作用就是我们把对象实例的创建交给spring,spring会将对象实例创建出来存放到spring IOC容器中,当我们要用的时候直接去取实例就行不用我们在自己创建对象实例.创建实例对象的方法,无参构造,静态工厂,实例工厂.spring注解开发时IOC对象实例化使用的是无参构造.
  • DI 属性注入,为实例对象注入属性,有构造器注入,setter方法注入,spring注解开发时的DI属性注入使用的是构造器注入.
  • AOP 面向切面编程,就是横向的将程序进行切割,并将程序中统一的功能单独拿出来通过动态代理的方式提供给这些程序,可以使各个业务逻辑之间的耦合降低,提高代码的复用性.
  • AOP的相关术语:target:指的是需要被增强的对象,就是说那些对象需要通过AOP来进行一些功能的实现;advice:通知就是所谓的增强告诉程序对对象进行了那些功能的实现;pointcut:告诉程序增强需要从哪些地方开始;aspect:就是切点和通知的结合,告诉程序需要在哪个地方进行哪些功能的实现;weaving:织入将切面放到target中并创建代理对象的过程;Proxy:代理对象如果有接口用jdk的proxy没有用cglib.
  • 关于AOP开发:必须要有target,advice,pointcut,aspect,proxy.spring中使用aspectJ进行开发,要创建target,advice,通过标签来进行切面和切点的声明.不需要去声明proxy.
  • Spring Bean 的作用范围有以下几种:

      Singleton:单例模式无论有多少请求Spring IOC 中都只有一个实例.
      Prototype:多例模式有一个请求就会产生一个实例
      Request:一个请求创建一个实例请求完后实例删除
      Session: 与请求范围类似,确保每个 session 中有一个 bean 的实例,在 session 过期后,bean 会随之失效
  • Spring的优点:降低耦合性实现解耦合;容器提供单例模式不用自己去写单例模式;AOP实现权限拦截等功能;对主流框架进行整合;DI降低对象替换的复杂度;
  • Spring的核心类:BeanFactory用来进行对象的实例化;BeanWrapper:提供统一的set,get方法;Applicationcontext: BeanFactory的子类提供框架的实现
  • Bean的调用有三种方式:BeanWrapper,BeanFactory,Applicationcontext的子类ClassPathXmlApplicationContext最常使用后一种.
目录
相关文章
|
4月前
|
缓存 Java 数据库连接
Spring 源码阅读 74:BeanFactoryTransactionAttributeSourceAdvisor 分析
【1月更文挑战第9天】本文通过对 BeanFactoryTransactionAttributeSourceAdvisor 类的分析,了解了 Spring 是如何通过 AOP 来完成事务的管理的,本文的内容需要你对 Spring 的 AOP 的实现原理有一定的了解。
51 0
|
4月前
|
Java 数据库 Spring
Spring 源码阅读 73:@EnableTransactionManagement 分析
【1月更文挑战第8天】本文通过源码分析了 @EnableTransactionManagement 注解开启 Spring 事务管理的原理。
53 0
|
12月前
|
XML 安全 Java
|
Java Spring 容器
Spring 源码阅读 43:CommonAnnotationBeanPostProcessor 分析
本文介绍了 CommonAnnotationBeanPostProcessor 后处理器的作用、它主要实现的后处理方法,还顺便介绍了 JSR 和 JSR-250 是什么。
195 0
Spring 源码阅读 43:CommonAnnotationBeanPostProcessor 分析
|
缓存 Java Spring
Spring 源码阅读 41:AutowiredAnnotationBeanPostProcessor 分析(2)
本文介绍了自动装配注解后处理器中的 postProcessMergedBeanDefinition 方法解析 BeanDefinition 中添加了注入注解的属性和方法。
99 0
Spring 源码阅读 41:AutowiredAnnotationBeanPostProcessor 分析(2)
|
缓存 Java Kotlin
Spring 源码阅读 40:AutowiredAnnotationBeanPostProcessor 分析(1)
本文介绍了自动装配注解后处理器中的 determineCandidateConstructors 方法如何为 Bean 类型确定候选的构造函数。
81 0
Spring 源码阅读 40:AutowiredAnnotationBeanPostProcessor 分析(1)
|
缓存 Java Spring
Spring 源码阅读 42:AutowiredAnnotationBeanPostProcessor 分析(3)
本文分析了自动装配注解后处理器中的 postProcessProperties 方法对 BeanDefinition 中添加了注入注解的属性和方法进行注入的过程。
84 0
|
XML Java 数据库连接
|
Java Spring 容器
Spring 源码学习 12:registerBeanPostProcessors
前面通过 invokeBeanFactoryPostProcessors 这一步了解到了什么是 BeanFactoryPostProcessor ,以及 BeanFactoryPostProcessor 的使用及作用,并通过 invokeBeanFactoryPostProcessors 这一步源码,对 BeanFactoryPostProcessor 的加载流程有了进一步了解。
151 0