![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Spring
soygrow
这个作者很懒,什么都没留下…
展开
-
Spring IoC 的概念
本章目标了解Spring的历史和发胀概况掌握Spring IoC容器的大致设计掌握Spring IoC的实现过程掌握Spring Bean的生命周期Spring 的概述 一些历史可以自行百度这里做个小总结,Spring提供以下策略:对于POJO的潜力开发,提供了轻量级和低侵入的编程,可以通过配置XML或者注解等来扩展POJO的功能,通过依赖注入的理念去扩展原创 2018-01-29 14:56:31 · 208 阅读 · 0 评论 -
Spring - 依赖注入
每个Java应用都会有很多对象,当写一个复杂的Java应用程序时,各个类需要各自独立,以便增加这些类的重用的可能性,并且再做单元测试时,测试独立于其他类的独立性。依赖注入有助于把这些类整合起来,同时保持独立。看下面代码:public class TextEditor { private SpellChecker spellChecker; public TextEd...原创 2018-02-08 13:03:44 · 156 阅读 · 0 评论 -
Spring - Beans 的继承
一个Bean的定义包含很多配置信息,包括构造参数、属性值以及容器指定的信息,比如init-method和静态工厂等等。子bean的定义继承父bean定义的配置数据,子bean有必要的可以重写一些值或者增加其他值。Spring Bean 定义的继承和Java 类继承没有关系,但是继承的概念是一致的。你可以定义一个父bean作为模版,其他子bean可以从父bean中继承需要的配置。当你使用...原创 2018-02-08 11:02:43 · 202 阅读 · 0 评论 -
Spring - Bean 的生命周期
Bean的生命周期表示Bean有实例化、初始化、使用以及销毁的过程。在Bean的整个生命周期中存在一系列的行为,这一节我们只讨论两个重要的方法,一个在初始化的时候,一个是在实例被销毁的时候。为了定义一个Bean的实例化和销毁的时刻需要做的事情,可以使用initmethod和destroymethod参数。init-method属性指明的方法在bean被实例化后立刻被执行。相似的destro...原创 2018-02-07 14:08:44 · 217 阅读 · 0 评论 -
Spring - Bean 的后置处理器
BeanPostProcessor 接口定义了回调方法,让你可以自己实现实例化的逻辑以及依赖解析的逻辑。你可以通过插入一个或者多个BeanPostProcessors的实现,在Spring容器完成实例化、配置以及初始化之后,实现一些自己设定的逻辑。你可以配置多个BeanPostProcessor接口,也可以通过实现Ordered接口提供的order属性来控制这些BeanPostProcesso...原创 2018-02-08 10:46:39 · 316 阅读 · 0 评论 -
Spring - Bean 的作用域
当定义一个Bean的时候,你可以选择声明这个Bean的scope,不知道怎么翻译这个词。 When defining a you have the option of declaring a scope for that bean. 比如,你可以强制每次实例化一个新的对象,或者每次都返回同一个对象,这个可以说就是一个单例。ScopeSpring框架支持一下五种scopes,其中...原创 2018-02-06 18:55:02 · 165 阅读 · 0 评论 -
Spring - Bean 的定义
这里给出Bean的定义,还是英文的比较好理解,就不翻译了,怎么翻译怎么不对。The objects that form the backbone of your application and that are managed by the Spring IoC container are called beans.Spring Ioc容器管理Bean的实例化、装配以及其他行为。Bea...原创 2018-02-06 09:58:39 · 392 阅读 · 0 评论 -
Spring - 注入集合
通过之前的xml配置文件中可以看到如何使用property中 value 属性以及 ref 属性配置原始的数据。以上两种case都是为bean配置单一的值存在一种配置集合数据的场景,比如像List、Set、Map以及Properties。为了处理这种场景,Spring 提供了四种类型的集合配置元素: No Element Description 1 <...原创 2018-02-24 10:36:54 · 193 阅读 · 0 评论 -
Spring 框架中的AOP
Spring 框架中面向切面编程是关键组件中的一个。面向切面变成需要把程序分解成不同的部分,这个就是所谓的关注点。跨越一个程序多个点的函数称作关注点,这些横切关注点在概念上与应用程序的业务逻辑分离。日志、审计、声明式事务、安全性、高速缓存方面有很多常见的好例子。OOP中模块化的关键单元是类,而在AOP中,模块化单元是切面。依赖注入帮助你将应用程序对象彼此解耦,AOP帮助你将横切关注点与它们影响...原创 2018-03-27 13:54:00 · 276 阅读 · 0 评论 -
基于Spring AOP的XML配置
在本节中要使用AOP的命名空间,所以你需要导入下面spring aop的框架:<?xml version = "1.0" encoding = "UTF-8"?><beans xmlns = "http://www.springframework.org/schema/beans" xmlns:xsi = "http://www.w3.org/2001/XMLSche...原创 2018-05-09 14:09:06 · 3254 阅读 · 0 评论 -
Spring 中基于AOP的@AspectJ
@AspectJ 作为通过 Java 5 注释注释的普通的 Java 类,它指的是声明 aspects 的一种风格。通过在你的基于架构的 XML 配置文件中包含以下元素,@AspectJ 支持是可用的。<aop:aspectj-autoproxy/>如果需要使用该注解,需要包含一下几个包: - aspectjrt.jar - aspectjweaver.jar - asp...原创 2018-05-10 10:25:09 · 257 阅读 · 0 评论 -
spring-framework源码阅读
spring-framework源码阅读源码下载地址: https://codeload.github.com/spring-projects/spring-framework/tar.gz/v5.0.10.RELEASE阅读源码最重要的是自己去写例子,这样才能加深阅读效果,不写例子,除非你是大牛,不然读了也是白度。主要是阅读《Spring源码深度解析》做的一个笔记记录,我记录了我是如何...原创 2019-04-24 17:41:39 · 527 阅读 · 0 评论 -
Spring - 基于构造方法的依赖注入
当一个容器调用一个类的构造函数时,就完成了基于构造函数的依赖注入,构造函数中一系列的参数表示对其他类的依赖。下面从栗子中看构造函数的依赖注入。ExampleSpellChecker.javapackage com.soygrow.ConstructorDependency;public class SpellChecker { public SpellCheck...原创 2018-02-08 13:05:45 · 1210 阅读 · 0 评论 -
Spring - 基于 Setter 方法的依赖注入
当容器调用一个无参构造函数或者一个无参的静态工厂方法初始化你的bean后,容器通过在你的bean上调用setter的方法完成依赖注入的。ExampleSpellChecker.javapackage com.soygrow.SetterDependency;public class SpellChecker { public SpellChecker() { ...原创 2018-02-08 13:07:48 · 980 阅读 · 0 评论 -
Spring - 注入内部 Beans
Java 的内部类是定义在其他累的内部,相似的,inner beans也是定义在其他beans的内部的。因此元素中的或者的里面的bean叫做内部bean,如下所示:<?xml version = "1.0" encoding = "UTF-8"?><beans xmlns = "http://www.springframework.org/schema/beans"...原创 2018-02-22 10:14:17 · 392 阅读 · 0 评论 -
Spring IOC 解读1
IoC(控制反转:Inverse of Control)是Spring容器的内核. 其实这个Spring架构核心的概念没有这么复杂,更不像有些书上描述的那样晦涩。java程序员都知道:java程序中的每个业务逻辑至少需要两个或以上的对象来协作完成,通常,每个对象在使用他的合作对象时,自己均要使用像new object() 这样的语法来完成合作对象的申请工作。你会发现:对象间的耦合度高了。原创 2018-01-30 14:35:07 · 134 阅读 · 0 评论 -
Spring IOC 解读2
IOCspring框架的基础核心和起点毫无疑问就是IOC,IOC作为spring容器提供的核心技术,成功完成了依赖的反转:从主类的对依赖的主动管理反转为了spring容器对依赖的全局控制。起因首先,在Java的类中我们会关联到其他类的对象,如果工程比较大的时候,可能存在一个类中很多其他类的对象。到最后耦合度就会很高。 怎么办?解耦,这也是IOC以及JAVA中很多框架在做的事情。原创 2018-01-30 14:45:57 · 151 阅读 · 0 评论 -
Spring 教程专栏
本文参考了tutorialspoint网站中的Spring教程的文章,多数内容是翻译过来,其中也包含了自己对相关内容的理解,也包含了自己在实现相关代码过程中遇到的问题。适合人群适合刚刚入门Spring的童鞋链接参考1.tutorialspoint: https://www.tutorialspoint.com/spring其他翻译可能存在错误,欢迎指正。原创 2018-02-05 11:18:21 · 283 阅读 · 0 评论 -
HelloSpring
HelloSpring任何语言都是从Hello开始,那么我们从HelloSpring开始认识Spring代码Hello Spring 直接从代码对Spring有一个整体的了解。HelloWorld.javapackage com.soygrow.HelloSpring;public class HelloWorld { private String mess原创 2018-02-05 11:19:31 · 461 阅读 · 0 评论 -
IoC 容器
Spring 容器时Spring 框架的核心。容器负责创建对象,并将它们连接在一起,配置对象,并且管理它们的生命周期。Spring容器使用依赖注入Dependency Injection 来管理组成一个应用程序的组件。这些对象被称为Spring Beans,我们将在下一章讨论。通过读取配置,容器可以知道哪些对象进行实例化、配置和组装。这个配置可以通过XML、java注解以及java配置的方式。原创 2018-02-05 19:13:31 · 204 阅读 · 0 评论 -
Spring - Beans 的自动装配
Beans的自动连接(不知道怎么翻译好) 我们知道如何声明以及使用元素并且在xml配置中使用和元素注入Spring 容器可以在不适用和元素的情况下,使用bean之间的协作关系自动连接,这样有助于减少XML配置文件的内容。Autowiring Modes自动装配模式 以下的自动装配模式让Spring容器再依赖注入中使用自动装配。需要在的元素定义中指明自动装配的模式。 ...原创 2018-02-26 12:11:16 · 278 阅读 · 0 评论 -
Spring - 基于配置的注解
基于配置的注解 从Spring 2.5开始可以使用注解来配置依赖注入,所以你可以在组件类、方法以及域的声明中使用注解来替代XML的配置说明。如果注解和XML都配置了依赖注入,那么注解会覆盖XML中的属性配置的依赖注入。在Spring容器中没有默认打开注解注入,所以在我们使用基于注解注入之前,我们需要在我们Spring配置文件中打开它。如果你想使用注解注入需要进行相关的配置,比如下面这样:...原创 2018-02-28 09:51:45 · 145 阅读 · 0 评论 -
Spring - 基于Java配置的注解
如果你已经很好使用XML的配置文件的方式实现依赖注入,那么没有那么必要再去学习如果使用基于Java配置的方式实现依赖注入,因为两者是相同的作用。使用Java配置的方式可以让你在没有XML配置文件的方式下实现依赖注入,这章我们将简单介绍。@Configuration & @Bean Annotations使用@Configuration的类表明这个类可以被IoC容器使用,并指...原创 2018-03-01 10:11:02 · 3396 阅读 · 0 评论 -
Spring - 自定义事件
下面通过一个具体的例子来说明如何创建自定义事件:CustomEvent.javapackage com.soygrow.CustomEvent;import org.springframework.context.ApplicationEvent;public class CustomEvent extends ApplicationEvent { public Cus...原创 2018-03-16 11:21:11 · 165 阅读 · 0 评论 -
Spring - 事件处理
从前面的内容我们知道Spring核心时ApplicationContext,管理了beans的整个生命周期。ApplicationContext在加载beans的时候会产生某些类型的事件。例如:当context开始的时候会产生ContextStartedEvent的事件,当context结束的适合会产生ContextStoppedEvent事件。ApplicationContext中的事件处理...原创 2018-03-10 13:08:17 · 325 阅读 · 0 评论 -
容器的基础 XmlBeanFactory(1)
容器的基础 XmlBeanFactory(1)这是第一篇Spring源码分析,主要是为了找到继续阅读源码的兴趣,了解一个概况同时找了ignoreDependencyInterface和ignoreDependencyType深入分析了下。链接从头看点这里下载源码、笔记以及对应的例子进入我的GitHub参考链接打开BeanFactory ignoreDependencyInterf...原创 2019-04-24 17:46:25 · 219 阅读 · 0 评论