深入解析:Spring框架核心知识篇

更新:11-09 名人轶事 我要投稿 纠错 投诉

本篇文章给大家谈谈深入解析:Spring框架核心知识篇,以及对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

1.IOC容器和控制反转模式。

什么是控制反转?控制反转是将对象的控制权转移到容器中,而不是直接在对象内部进行控制。它是关于一个对象如何获得对其所依赖的对象的引用。倒置是指责任的倒置。控制反转了怎么办?即:获取依赖对象的方式反过来。

什么是依赖注入?依赖注入是指容器动态地将对象的依赖注入到组件中,并注入所需的外部资源。

“谁依赖谁,为什么需要依赖,谁注入谁,注入什么”:

谁依赖谁:当然,应用程序依赖于IoC容器;

为什么需要依赖:应用程序需要IoC容器来提供对象所需的外部资源;

谁注入谁:很明显,IoC容器注入的是应用程序的对象,应用程序所依赖的对象;

注入什么:是注入一个对象所需的外部资源(包括对象、资源、常量数据)。

http://blog.csdn.net/bestone0213/article/details/47424255

2.2 IoC容器系列的实现:BeanFactory和ApplicationContext

BeanFactory的作用:实例化、配置和管理bean。

/** * 用于引用实例,或者与工厂生成的Bean区分开来。也就是说,如果一个FactoryBean的名字是a,那么a就会得到那个Factory */String FACTORY_BEAN_PREFIX="";

/* * 四种不同形式的getBean方法获取实例*/

对象getBean(String name) 抛出BeansException;

T getBean(String name, ClassrequiredType) 抛出BeansException;

T getBean(Class requiredType) 抛出BeansException;

Object getBean(String name, Object.args) 抛出BeansException;

boolean containsBean(字符串名称); //是否存在

boolean isSingleton(String name) 抛出NoSuchBeanDefinitionException; //是否是单实例

boolean isPrototype(String name) 抛出NoSuchBeanDefinitionException; //是否是原型(多个实例)

boolean isTypeMatch(字符串名称, 类目标类型)

throws NoSuchBeanDefinitionException;//名称和类型是否匹配

类getType(String name) 抛出NoSuchBeanDefinitionException; //获取类型

String[] getAliases(String name);//根据实例的名称获取实例的别名

BeanFactory继承结构:

继承关系BeanFactory只提供基本的IOC容器功能。

需要依赖其他接口来实现功能。例如XmlBeanFactory:

XmlBeanFactory继承自DefaultListableBeanFactory,并扩展了从xml文档读取bean定义的能力。本质上,XmlBeanFactory相当于DefaultListableBeanFactory+XmlBeanDefinitionReader。如果有更好的需求,可以考虑使用DefaultListableBeanFactory+XmlBeanDefinitionReader的方案,因为该方案可以从多个xml文件中读取资源,并且在解析xml方面具有更大的灵活性。可配置性。典型施工方法:

公共XmlBeanFactory(资源资源,BeanFactoryparentBeanFactory)抛出BeansException {

超级(parentBeanFactory);

this.reader.loadBeanDefinitions(资源);

}

XmlBeanFactory可以清晰地揭示IOC容器实现中关键类(Resource、DefaultListableBeanFactory和BeanDefinitionReader)之间的调用关系,它们如何解耦IOC容器的功能,以及它们如何组合起来为IOC容器服务。

以编程方式使用IOC 容器:

ClassPathResource res=new ClassPathResource("beans.xml");

DefaultListableBeanFactory 工厂=new DefaultListableBeanFactory();

XmlBeanDefinitionReader reader=new XmlBeanDefinitionReader(factory);

reader.loadBeanDefinitions(res);

1. 为IoC配置文件创建抽象资源。这个抽象资源包含了BeanDefinition的定义信息。

2、创建一个BeanFactory,这里使用DefaultListableBeanFactory。

3. 创建一个加载BeanDefinition的读取器。这里,XmlBeanDefinitionReader用于以XML文件的形式加载BeanDefinition,并通过回调配置到BeanFactory。

4. 从定义的资源位置读取配置信息。具体的解析过程是由XmlBeanDefinitionReader完成的。

类路径资源

http://www.cnblogs.com/davidwang456/p/4204569.html

2.3 IoC容器的初始化

1.资源定位流程;寻找数据

2.BeanDefinition加载过程;

3、向IOC容器注册BeanDefinition流程;

2.4 IoC容器的依赖注入

2.5 容器其他相关特性的实现

2.6 总结

http://www.cnblogs.com/davidwang456/p/4204569.html

关于深入解析:Spring框架核心知识篇和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

用户评论

醉婉笙歌

想学习java开发吗?先从Spring开始吧!

    有18位网友表示赞同!

还未走i

一直听说Spring 很强劲,终于决定来学习它的核心篇了!

    有17位网友表示赞同!

有恃无恐

这个标题看着就让人很期待,希望能学到很多实用知识。

    有16位网友表示赞同!

回到你身边

很久没关注Spring的变化了,现在去复习一下基础也挺不错的

    有8位网友表示赞同!

゛指尖的阳光丶

原来Spring的内核这么复杂?看来需要花些时间了!

    有12位网友表示赞同!

执妄

学习核心篇应该会有更深入的理解吧。

    有16位网友表示赞同!

陌上花

准备好好啃一啃这本《Spring核心篇》!

    有9位网友表示赞同!

盲从于你

对编程有基础的人,学学Spring会很有帮到!

    有19位网友表示赞同!

余温散尽ぺ

这个内容看起来很有深度,期待深入学习

    有8位网友表示赞同!

你与清晨阳光

从这里入手能更清楚地理解Spring的运作机制

    有17位网友表示赞同!

桃洛憬

学习Spring是java程序员必备技能之一

    有6位网友表示赞同!

短发

希望这篇文章能够讲解清楚Spring的核心概念和功能

    有19位网友表示赞同!

素颜倾城

Spring框架真是太强大,基础知识要打扎实!

    有18位网友表示赞同!

泡泡龙

掌握Spring的核心篇,就可以开发更复杂的应用了!

    有11位网友表示赞同!

青衫故人

学习Spring是提升编程能力的好方法

    有7位网友表示赞同!

隔壁阿不都

这篇文章应该会对理解Spring架构很有帮助。

    有13位网友表示赞同!

在哪跌倒こ就在哪躺下

准备从 Spring 核心篇开始我的 Java 学习之旅!

    有13位网友表示赞同!

呆檬

期待学到更多关于 Spring 的知识!

    有15位网友表示赞同!

【深入解析:Spring框架核心知识篇】相关文章:

1.蛤蟆讨媳妇【哈尼族民间故事】

2.米颠拜石

3.王羲之临池学书

4.清代敢于创新的“浓墨宰相”——刘墉

5.“巧取豪夺”的由来--米芾逸事

6.荒唐洁癖 惜砚如身(米芾逸事)

7.拜石为兄--米芾逸事

8.郑板桥轶事十则

9.王献之被公主抢亲后的悲惨人生

10.史上真实张三丰:在棺材中竟神奇复活

上一篇:那些岁月,我们边走边回忆 下一篇:深入浅出:数据结构与算法解析与应用