- 浏览: 57798 次
- 性别:
- 来自: 成都
文章分类
Spring源码分析之IOC
- 博客分类:
- java
先看两种方式在IOC容器取得bean
1 beanFactory 实现
日志
2通过applictaionContext 方式实现
日志
看看日志,applicationContext似乎就是按照第一个方式得到bean的咯,
现在看下这俩到底有些什么东东咯?
BeanFactory 类是ioc容器最基本的形式,并且提供了IOC容器所应该遵守的最基本的服务契约,勾画了IOC最基本的轮廓。
APPlicationContext类,看实现,它继承了BeanFactorys,所以具有BeanFactory的功能,这样ApplicationContext的功能就会比BeanFactory丰富咯。它可以支持不同的信息源,由于它扩展了MessageSource,可以从不同的地方访问资源,由于实现了ResourceLoader,
1 beanFactory 实现
ClassPathResource res=new ClassPathResource("beans.xml"); DefaultListableBeanFactory factory=new DefaultListableBeanFactory(); XmlBeanDefinitionReader reader=new XmlBeanDefinitionReader(factory); reader.loadBeanDefinitions(res); Dog d1=(Dog)factory.getBean("dog");
日志
[main] INFO [org.springframework.beans.factory.xml.XmlBeanDefinitionReader] - Loading XML bean definitions from class path resource [beans.xml]
2通过applictaionContext 方式实现
ApplicationContext ac=new ClassPathXmlApplicationContext("beans.xml"); Dog d=(Dog)ac.getBean("dog");
日志
2013-03-16 21:21:36,266 [main] INFO [org.springframework.beans.factory.xml.XmlBeanDefinitionReader] - Loading XML bean definitions from class path resource [beans.xml] 2013-03-16 21:21:36,919 [main] INFO [org.springframework.beans.factory.support.DefaultListableBeanFactory] - Pre-instantiatin g singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@899e53: defining beans
看看日志,applicationContext似乎就是按照第一个方式得到bean的咯,
现在看下这俩到底有些什么东东咯?
BeanFactory 类是ioc容器最基本的形式,并且提供了IOC容器所应该遵守的最基本的服务契约,勾画了IOC最基本的轮廓。
public interface BeanFactory { String FACTORY_BEAN_PREFIX = "&"; Object getBean(String name) throws BeansException; T getBean(String name, Class<T> requiredType) throws BeansException; <T> T getBean(Class<T> requiredType) throws BeansException; Object getBean(String name, Object... args) throws BeansException; boolean containsBean(String name); boolean isSingleton(String name) throws NoSuchBeanDefinitionException; boolean isPrototype(String name) throws NoSuchBeanDefinitionException; boolean isTypeMatch(String name, Class targetType) throws NoSuchBeanDefinitionException; Class<?> getType(String name) throws NoSuchBeanDefinitionException; String[] getAliases(String name); }
APPlicationContext类,看实现,它继承了BeanFactorys,所以具有BeanFactory的功能,这样ApplicationContext的功能就会比BeanFactory丰富咯。它可以支持不同的信息源,由于它扩展了MessageSource,可以从不同的地方访问资源,由于实现了ResourceLoader,
public interface ApplicationContext extends ListableBeanFactory, HierarchicalBeanFactory, MessageSource, ApplicationEventPublisher, ResourcePatternResolver { String getId(); String getDisplayName(); ApplicationContext getParent(); AutowireCapableBeanFactory getAutowireCapableBeanFactory() throws IllegalStateException; }
发表评论
-
Spring源码分析之IOC2
2013-03-16 23:25 778本篇将介绍下ApplicationCo ... -
一些在工作中遇到的问题汇总
2012-12-10 23:31 0保留一定的小数位数 1 DecimalFormat ... -
Set集合源码初探
2012-12-06 23:07 0[color=green][size=medium] ... -
一些常用的jar包
2012-12-04 22:44 0一些常用的jar 放在网上方便使用 Did your c ... -
java 获取请求ip
2012-11-20 23:11 3242public class IpUtil { publ ... -
mongodb
2012-11-20 22:09 688mongodb文档, -
padingtoolbar 的扩张
2012-10-31 22:01 0在Ext的原有分页控件中,服务器端方法是根据传入的起始数据记录 ... -
extjs的一些组件
2012-10-17 22:34 668<script type="text/java ... -
extjs
2012-10-14 23:09 610extjs的一些文档 -
jquery ui
2012-09-11 22:54 700一个jquery ui 后台 -
重拾java之线程1
2012-09-10 00:17 907[size=medium] 接触java也有一段时间了,以前选 ... -
dom4j 一些使用
2012-07-30 22:40 0dom4j使用 -
一个http请求
2012-07-18 00:04 0ackage com.sxit.phoenix.common; ... -
读书笔记effective之对所有对象通用的方法
2012-03-18 17:22 858读书笔记effective之对所有对象通用的方法 第一条 覆 ... -
读书笔记effective java 之条目
2012-03-18 15:05 818最近看了下effective java 有编程许多经验值得学 ... -
读书笔记effective java 之通用程序设计3
2012-03-15 22:21 850第五条 基本类型优先于装箱基本类型 java有一个类型系 ... -
读书笔记effective java 之通用程序设计2
2012-03-15 20:59 891第三条 了解和使用类库 ... -
effective java 之通用程序设计
2012-03-15 16:15 741第一条 将局部变量的作用域最小化 将局部变量的作用域最小 ... -
http与socket连接区别
2011-11-08 01:11 443相信不少初学手机联网 ... -
HashMap 一般遍历
2011-11-04 16:28 759Map map=new HashMap() Iterator ...
相关推荐
Spring源码分析_Spring_IOC
Spring源代码解析(二):ioc容器在Web容器中的启动 Spring源代码分析(三):Spring JDBC Spring源代码解析(四):Spring MVC Spring源代码解析(五):Spring AOP获取Proxy Spring源代码解析(六):Spring声明式事务处理...
这是spring_ioc部分的内容。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。...
3、源码分析-IOC容器的初始化 4、源码分析-IOC容器的依赖注入 5、源码分析-IOC容器的高级特性 三阶段 Spring AOP的涉及原理及具体实践 SpringJDBC的涉及原理及二次开发 SpringMVC框架设计原理及手写实现 四阶段 ...
spring version: 5.0.0; jdk: 1.8 IOC大致调用顺序(IOC调用的AOP标签解析)
老王读 Spring IoC 系列文章的源码分析&测试代码 Spring IoC 源码分析,帮助大家学习 Spring 源码,更加了解 Spring 的底层 博客专栏地址:https://blog.csdn.net/wang489687009/category_11269905.html
spring5源码分析视频,内容包括源码分析、ioc/aop/事务等等,还有手写spring5框架内容
Spring源代码解析(二):ioc容器在Web容器中的启动 3.Spring源代码解析(三):Spring JDBC 4.Spring源代码解析(四):Spring MVC 5.Spring源代码解析(五):Spring AOP获取Proxy 6. Spring源代码解析(六):Spring...
Spring源码分析之IoC.docx 关于线程和线程池的学习与使用.docx 深入理解JVM垃圾回收机制.docx 深入理解多线程实现的另一种方式Callable.docx 红黑树简介.docx 线程死锁及解决办法.docx 线程锁之重入锁.docx 线程间的...
有关于Spring,我们最常用的两个功能就是IOC和AOP,前几篇文章从源码级别介绍了Spring容器如何为我们生成bean及bean之间的依赖关系 下面我们接着来看AOP的源码实现。 有关于AOP,我们在面试中也被无数次问到...
Spring Ioc源码分析系列--自动注入循环依赖的处理.doc
Spring Ioc源码分析系列--@Autowired注解的实现原理.doc
1. bean的装配方式 1.表明当前类是一个配置类,是方法bean的源 2.将@Configuration配置的AppConfig的BeanDefinitio
本文深入探讨了Spring框架中IoC容器的源码机制,涵盖了容器的初始化、Bean工厂的实例化、Bean定义的读取及Spring Bean的生命周期管理。通过精细的分析,本文揭示了AnnotationConfigApplicationContext的实例化过程,...
本文深入探讨了Spring IoC容器的加载过程及其源码实现,揭示了Spring中最为根本的概念之一。这包括从AnnotationConfigApplicationContext的实例化开始,到DefaultListableBeanFactory工厂的建立,再到...
Spring 源码分析(Bean的初始化) 前言 本篇文章是个人第一次看spring源码并总结,同时也参考了下面这篇博客。基本也是按照他的思路来理解的。这也算是第一版个人简易理解。也算是窥见spring的冰山一角,之后也会...
NULL 博文链接:https://ziyoujiedao.iteye.com/blog/262360
Spring源代码解析(二):ioc容器在Web容器中的启动.doc Spring源代码分析(三):Spring JDBC.doc Spring源代码解析(四):Spring MVC.doc Spring源代码解析(五):Spring AOP获取Proxy.doc Spring源代码解析(六):...