`

spring学习日志ioc的实现。

 
阅读更多

1 :spring ioc 执行的典型流程:

      i:解析配置文件解析为BeanDifinition Resource--解析(DefaultBeanDefinitionDocumentReader)--组装(BeanDefinitionParserDelegate.parseBeanDefinitionElement(Element ele, String beanName, BeanDefinition containingBean))---->BeanDefinition(GenericBeanDefinition)

--注册(DefaultListableBeanFactory)-->放入一个ConcurrentHashMap中。

      ii:生成bean的操作类 AbstractAutowireCapableBeanFactory,创建bean的简化流程 通过反射,检查该bean是否可以正常实例化-->通过反射,判定那些方法被重载,重写 了-->如果有切面,返回通过cglib或者jdk生成切面对象-->没有切面,构建正常对象,返回。

2:Beanfactory :定义了ioc的基本行为的接口,

 

3:XmlBeanFactory : 具体的的bean构建入口类 ,位于org。

继承 : DefaultListatableBeanFactory-->ConfigurableListabelBeanFactory->ListtableBeanFactory-->BeanFactory

加载springxml文件的基本入口类。

用法 :

BeanFactory factory=new XmlBeanFactory(new FileSystemResource("knight.xml"));

主要的功能逻辑位于DefaultListatableBeanFactory中。

 

4:BeanDefinition :spring的领域对象,该接口主要定义的方法

getParentName():获取父类BeanDefinition key值(通过该值生成父类BeanDefinition sprint 配置里的parent属性 );

setParentName(String parentName) :设置父类BeanDefinition key值

getBeanClassName():设置该BeanDefinition对应的类(spring 配置里面的 class属性)

getFactoryBeanName() :设置工厂实例(实例代表,该工厂类现在spring里面注册来获取实例)名字,对应factory-bean

getFactoryMethodName():设置静态方法名字,当定义了该字段,通过该方法获取实例,和factory-bean的定义无直接的关系。

 

 

 

分享到:
评论

相关推荐

    spring框架学习

    三大框架之spring学习 aop ioc

    Spring简单仿写,实现基本IOC,依赖注入和AOP 未解决循环依赖

    以Spring5为基础进行的仿写,测试代码有简单的依赖注入和aop日志打印

    spring最小依赖包

    4) spring-beans-3.2.8.RELEASE.jar SpringIoC(依赖注入)的基础实现 5) spring-context-3.2.8.RELEASE.jar Spring提供在基础IoC功能上的扩展服务 6) spring-core-3.2.8.RELEASE.jar Spring的核心包 7) ...

    Spring的学习笔记

    (三) 搭建日志环境并配置显示DDL语句jar包 31 三、 Spring整合hibernate3事务 31 (一) Annotation注解方式配置事务管理 31 (二) Spring事务选项 35 (三) XML文件形式配置Spring事务管理 37 四、 HibernateTemplate ...

    Springjar.zip

    1) spring-core : spring的核心包,只要用spring这个是必须要有的 2) spring-beans : spring的核心包,我们刚才配置的XML根目录就是beans,所以...6) spring-jcl : spring的日志管理包,spring进行日志管理的重要jar包

    spring项目开发学习笔记

    依赖注入DI/IoC控制反转:提供松耦合的一种实现技术 AOP面向切面编程:(可以在不修改源代码的前提下,增强权限,日志,事务功能)切面编程将业务逻辑从应用服务中分离 容器(spring):管理dao,service,action,...包含并...

    spring框架api中文版.zip(spring开发手册)

    日志 不使用通用日志 使用SLF4J 使用Log4j 二世。 什么是新的在春季3 2。 新特性和增强功能在Spring框架3.0 2.1。 Java 5 2.2。 改进文档 2.3。 新的文章和教程 2.4。 新模块的组织和构建系统 2.5。 概述的新特性 2...

    spring2.5 学习笔记

    (三) 搭建日志环境并配置显示DDL语句jar包 31 三、 Spring整合hibernate3事务 31 (一) Annotation注解方式配置事务管理 31 (二) Spring事务选项 35 (三) XML文件形式配置Spring事务管理 37 四、 HibernateTemplate ...

    spring3.0jar包

    简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。 ◆轻量——从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。并且Spring所需的处理...

    Spring基础与快速入门

    3 IOC:控制反转,谓之“依赖关系的转移”,如果以前都是依赖于实现,那么现在反转为依赖于抽象吧,其实它的核心思想就是要面向接口编程,至于何谓接口何谓抽象,以及它们的好处,多看看设计模式吧,这里就不费口舌...

    spring的思维导图

    对spring学习阶段进行总结,主要优spring概念、spring的ioc控制反转、spring的di依赖注入、spring的aop(手动aop、半自动aop、传统aop、基于aspectj的aop)、事务管理(事务的概念、事务的四大特征、事务的隔离界别、...

    spring的概要介绍与分析

    AOP则允许开发者在不影响业务逻辑代码的情况下,定义横切关注点,如日志、事务管理等,实现功能的模块化。 此外,Spring框架提供了丰富的功能组件,如数据访问(Spring Data JPA、MyBatis等)、Web开发(Spring MVC...

    spring-struts1-strust2-hibernate 核心包介绍

    Hibernate3.2 核心包作用 包 作用 说明 jta.jar 标准的JTA API 必要 ...如果应用只需基本的IoC /DI支持,引入spring-core.jar及spring- beans.jar文件就可以了。 还包含 Eclipse无提示的解决办法!

    Spring 中文API&开发文档.rar

    简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。 ◆轻量——从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。并且Spring所需的...

    spring-framework-3.1.0.RELEASE.zip

    简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。 轻量——从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。并且Spring所需的处理开销...

    JAVA中spring介绍.docx

    Spring框架介绍: Spring是一个开源的Java框架,用于构建...利用Spring的AOP功能,可以将与业务逻辑无关的横切关注点(如日志、事务、安全性等)从业务逻辑中分离出来,提高代码的模块化和可维护性。 简化数据库访问:

    绝对深层次IOC和AOP的理解

    Spring IOC容器通过xml,注解等其它方式配置类及类之间的依赖关系,完成了对象的创建和 依赖的管理注入。实现IOC的主要设计模式是工厂模式。 AOP(面向切面)是一种编程范式,提供从另一个角度来考虑程序结构以完善...

    spring.net中文手册在线版

    14.5.1.理解Spring.NET声明式事务管理的实现 14.5.2.第一个例子 14.5.3.Transaction特性的设置 14.5.4.通过AutoProxyCreator使用声明式事务 14.5.5.通过TransactionProxyFactoryObject使用声明式事务 14.5.6. 通过...

    java权限管理与日志记录模块的设计与开发(源代码+论文)

    JAVA技术、在框架架构上采用流行的MVC架构、在业务架构中采用Spring的IOC思想和ORM技术的一个新型智能在线考试信息管理系统,该系统主要实现了学生在线考试与评估以及教师对学生在线考试信息的管理和维护。...

    java云笔记 项目+sql文件+超清晰注释+项目经验

    SpringAOP:实现事务管理和异常日志处理 (在不修改原有组件情况下,追加功能) MyBatis:实现数据库操作,实现数据访问层 界面一律采用HTML 所有交互一律采用Ajax模式 所有交互一律采用无状态会话处理

Global site tag (gtag.js) - Google Analytics