20:08 2010-5-21
1、核心方法:getBean
a)流程
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:489)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:192)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:565)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:873)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:424)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
at ch02.sample2.WeatherServiceTest.testSample2(WeatherServiceTest.java:18)
b) 对外提供的方法:
org.springframework.beans.factory.support.AbstractBeanFactory.getBean
c) 核心接口:
org\springframework\beans\BeanWrapper.java
(The central interface of Spring's low-level JavaBeans infrastructure.)
d)实现类:
org.springframework.beans.BeanWrapperImpl
e)/org.springframework.beans/src/main/java/org/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory.java
489 行加入如下信息,进行调试:
Throwable t = new Throwable();
t.printStackTrace();
logger.debug("***** instanceWrapper:" + instanceWrapper);
分享到:
相关推荐
41 Spring源码阅读 - getBean 下.mp4 42 Spring源码阅读 - createBean.mp4 43 Spring源码阅读 - doCreateBean.mp4 44 源码阶段性总结3.mp4 45 jdk动态代理和cglib的区别.mp4 46 Spring源码阅读 AOP - ...
41 Spring源码阅读 - getBean 下.mp4 42 Spring源码阅读 - createBean.mp4 43 Spring源码阅读 - doCreateBean.mp4 44 源码阶段性总结3.mp4 45 jdk动态代理和cglib的区别.mp4 46 Spring源码阅读 AOP - ...
41 Spring源码阅读 - getBean 下.mp4 42 Spring源码阅读 - createBean.mp4 43 Spring源码阅读 - doCreateBean.mp4 44 源码阶段性总结3.mp4 45 jdk动态代理和cglib的区别.mp4 46 Spring源码阅读 AOP - ...
41 Spring源码阅读 - getBean 下.mp4 42 Spring源码阅读 - createBean.mp4 43 Spring源码阅读 - doCreateBean.mp4 44 源码阶段性总结3.mp4 45 jdk动态代理和cglib的区别.mp4 46 Spring源码阅读 AOP - ...
Spring框架的IOC(Inversion of Control,控制反转)容器是其核心...通过源代码阅读,我们可以看到Spring如何优雅地将这些复杂的概念转化为可扩展和灵活的代码,从而更好地利用它来构建高效且松耦合的Java应用程序。
需要注意的是,过度使用`getBean`可能导致代码过于耦合,违反了Spring DI的原则。 接下来,我们来看看`JdbcTemplate`。`JdbcTemplate`是Spring提供的一个用于简化数据库操作的工具类,它通过模板方法模式,将常见的...
Spring 源码分析 Spring 框架是 Java 语言中最流行的开源框架之一,它提供了一个强大且灵活的基础设施来构建企业级应用程序。在 Spring 框架中,IOC 容器扮演着核心角色,本文将深入分析 Spring 源码,了解 IOC ...
在Spring框架中,BeanFactory是核心的IoC(Inversion of Control)容器接口,它负责管理和维护Bean的生命周期。BeanFactory提供了对Bean的创建、初始化、销毁等操作的支持,是Spring容器的基础。当我们通过XML、Java...
加载spring配置文件,提供getBean接口.
- **AOP(面向切面编程)**:Spring通过代理机制实现AOP,可以在不修改业务逻辑代码的情况下添加横切关注点。 - **事件发布机制**:Spring支持事件驱动编程模型,允许组件发布事件,并由事件监听器响应这些事件。 - ...
3. **容器初始化**:Spring框架通过ApplicationContext来管理Bean,我们需要创建一个配置文件(如`applicationContext.xml`)来声明我们的Bean。在这里,我们将`HelloServiceImpl`声明为一个Bean,并指定其接口类型...
在Spring框架中,`getBean`方法是核心的组件实例化和管理的入口,它用于从IoC容器中获取指定的Bean。这个过程涉及到多个步骤,确保Bean的正确创建、初始化以及依赖注入。以下是`getBean`方法的主要流程: 1. **开始...
这是通过在FXMLLoader上设置一个控制器工厂来实现的,该控制器工厂委托给bean工厂:本质上,这只是loader.setControllerFactory(applicationContext::getBean) 。 此外,通过在加载程序上设置自定义生成器工厂,...
Spring框架的源代码分析主要集中在它的核心特性——控制反转(IOC)容器上。IOC容器是Spring的核心组件,它负责管理应用程序中的对象,也就是所谓的"bean"。BeanFactory接口是IOC容器的基础,它定义了最基础的bean...
《Spring源码剖析:深入理解对象管理机制》 在软件开发领域,Spring框架以其强大的功能和灵活的设计,成为了Java企业级应用的事实标准。其核心特性之一就是依赖注入(Dependency Injection,DI),它使得应用程序的...
本文将详细介绍如何在Spring中通过`ApplicationContext`的`getBean`方法获取注入对象,并通过实例来展示其使用。 首先,我们来看`ApplicationContextAware`接口,它是Spring提供的一个回调接口。当Spring容器创建了...
7. `spring-webmvc`:Spring的Web MVC实现,提供模型-视图-控制器架构。 二、IoC容器 Spring的IoC容器是其核心功能之一,通过XML或注解配置,它可以管理对象的生命周期和依赖关系。在源码中,`BeanFactory`和`...
- `src`:源代码目录,通常包含Java源文件和其他语言的源代码。 - `WebRoot`:在Web应用程序中,这是静态资源(如HTML、CSS、JavaScript等)的根目录。 - `.myeclipse`:MyEclipse的工作空间配置文件夹,包含项目...
通过对Spring核心API的深入理解和熟练运用,开发者可以更好地利用Spring提供的功能,优化代码结构,提高代码的可读性和可维护性。此外,理解这些API的内部工作原理还有助于解决实际开发过程中遇到的问题,提升问题...