`
kris_feng
  • 浏览: 10154 次
社区版块
存档分类
最新评论

spring小记

阅读更多

看了马士兵讲的spring实现原理视频,代码部分就不列出来了,只是表达下看完视频后的想法,对一些模糊的概念进行总结

 

一、概念    

 

1.Dependency Injection:依赖注入        完成bean与bean之间的依赖关系,通过配置文件中bean id定义的容器,依赖容器中的指定对象完成创建实例
2.Inverse of Control:控制反转       和DI是一个概念 当某个角色(java实例)需要另一个角色的协助,传统程序中由调用者创建被调用者的实例,但通过spring,创建被调用者的工作可以由容器(spring)来完成,直接通过配置XML完成注入调用者3.AOP  aspect orient programming:面向切面编程(也是面向方法编程)          用于处理系统中分布于各个模块中的交叉关注点(方法)而不影响原来的代码。如日志、安全检查、对象池管理,通过spring的配置文件实现动态代理(参考设计模块中代理模式)。
DI原理:通过(类似DOM4J、JDOM等)读取xml配置文件格式获取信息,将获取的信息配合反射实现代码中对象new的替换,通过容器控制对象之间的依赖关系完成创建对象需要的实例。
AOP原理:参考动态代理实现原理
     在程序运行时,创建代理类的XX.class(complitor、gclib、asc等多种方式实现),并通过反射机制加载调用其接口的方法。
          1.通过jdk自带的reflect.proxy实现
              Proxy.newProxyInstance(实现类.getclass().getclassloader(),实现类.getclass.getinterfaces().代理类对象)
             这个方法完成如下工作:
              a.根据传入的第二个参数interface动态生成一个类,实现了interface中的接口,并且继承了Proxy类重写了hashcode,toString等方法
              b.通过传入的第一个参数classloder将刚生成的类加载到jvm中
              c.利用第三个参数调用代理的构造函数创建代理的对象
              d.将代理生成的实例返回给客户端
          2.上述代理的实现过程通过jdk1.6的包中complitor实现 (见马士兵代理模式) (1).生成代理类的.java文件   (2)自动编译成.class   (3)反射加载.class  (4)调用接口委托类的方法
分享到:
评论

相关推荐

    spring 小记

    这篇小记将深入探讨Spring的主要组件和关键特性,带你一步步走进Spring的世界。 首先,我们要理解Spring的核心——依赖注入。在传统的Java程序中,对象之间的依赖关系通常是硬编码的,这使得代码难以测试和维护。...

    Spring Boot整合Spring Batch,实现批处理

    在Java开发领域,Spring Boot和Spring Batch的整合是构建高效批处理系统的一种常见方式。Spring Boot以其简洁的配置和快速的启动能力深受开发者喜爱,而Spring Batch作为Spring框架的一部分,专注于批量处理任务,...

    spring2.0升级到spring3.0.5的开发包

    Spring框架是Java应用程序开发中的一个核心组件,它提供了一个丰富的IOC(Inversion of Control,控制反转)和AOP(Aspect-Oriented Programming,面向切面编程)功能,使得开发者能够更方便地管理对象和实现模块化...

    Spring Integration + Spring WS 整合

    Spring Integration + Spring WS 整合 在 Java 领域中,Spring Integration 和 Spring WS 是两个常用的框架,它们分别负责集成系统和 Web 服务。今天,我们将探讨如何将这两个框架整合在一起,实现一个完整的 Web ...

    SpringBatch+Spring+Mybatis+MySql (spring batch 使用jar)

    Spring Batch是一个轻量级的,完全面向Spring的批处理框架,可以应用于企业级大量的数据处理系统。Spring Batch以POJO和大家熟知的Spring框架为基础,使开发者更容易的访问和利用企业级服务。Spring Batch可以提供...

    Spring Cloud Gateway 整合 Spring Security 统一登录认证鉴权

    在构建分布式系统时,Spring Cloud Gateway 作为微服务架构中的边缘服务或 API 网关,扮演着至关重要的角色。它负责路由请求到相应的微服务,并可以提供过滤器功能,如限流、熔断等。而Spring Security 则是 Java ...

    spring揭秘.rar_Spring揭秘 下载_spring mvc_spring 揭秘_spring揭秘

    spring揭秘,了解spring内在运行逻辑

    Getting started with Spring Framework: covers Spring 5(epub)

    Getting started with Spring Framework (4th Edition) is a hands-on guide to begin developing applications using Spring Framework 5. The examples (consisting of 88 sample projects) that accompany this ...

    spring 5 , Spring Boot 2.0,Spring cloud

    标题中的“Spring 5, Spring Boot 2.0, Spring Cloud”揭示了三个核心的Java开发框架和技术。这些是Spring框架的最新版本,Spring Boot的第二个主要版本,以及用于构建微服务架构的Spring Cloud。 首先,Spring 5是...

    spring3.0.5 所有jar文件

    包含spring 3.0.5的所有jar文件: org.springframework.aop-3.0.5.RELEASE.jar org.springframework.asm-3.0.5.RELEASE.jar org.springframework.aspects-3.0.5.RELEASE.jar org.springframework.beans-3.0.5.RELEASE...

    我的日常小记:spring以及mybatis最终源码

    在本项目中,"我的日常小记:spring以及mybatis最终源码" 是一个记录了开发者个人编程经验的项目,主要涉及两个核心框架——Spring和MyBatis。这两个框架是Java开发领域中非常流行的技术栈,广泛应用于企业级后端...

    spring配置 spring配置 spring配置 spring配置 spring配置

    spring配置 spring配置 spring配置 spring配置 spring配置

    spring3.1 官方全部jar包

    spring3.1官方所有的jar包 org.springframework.aop-3.1.RELEASE.jar org.springframework.asm-3.1.RELEASE.jar org.springframework.aspects-3.1.RELEASE.jar org.springframework.beans-3.1.RELEASE.jar org....

    spring3.0.0相关jar包

    spring3.0.0相关jar包 org.springframework.aop-3.0.0.RELEASE org.springframework.asm-3.0.0.RELEASE org.springframework.aspects-3.0.0.RELEASE org.springframework.beans-3.0.0.RELEASE org.springframework....

    spring4.3.1官方全套jar包下载

    spring4.3.1全套jar下载。 4.3.1/spring-aop-4.3.1.RELEASE.jar 4.3.1/spring-aspects-4.3.1.RELEASE.jar 4.3.1/spring-beans-4.3.1.RELEASE.jar 4.3.1/spring-context-4.3.1.RELEASE.jar 4.3.1/spring-core-4.3.1....

    spring 4.3.14(全)最新的spring4正式版

    Spring 框架是 Java 开发中的一个核心组件,它为构建企业级应用程序提供了全面的编程和配置模型。Spring 4.3.14 是该框架的最后一个4.x系列正式版,发布于2018年2月24日。这个版本在Spring 5.0发布之前提供了一个...

    spring整合rabbitmq需要的jar包(spring版本4.2.0)

    在IT行业中,Spring框架是Java应用开发中的一个关键组件,它提供了一整套服务来简化企业级应用的构建。RabbitMQ则是一个流行的开源消息队列系统,它基于AMQP(Advanced Message Queuing Protocol)协议,用于高效地...

    Spring cloud与Spring boot 集成完整案例

    Spring Cloud和Spring Boot是两个非常重要的Java开发框架,它们在微服务架构中扮演着核心角色。Spring Boot简化了创建独立的、生产级别的基于Spring的应用程序的过程,而Spring Cloud则为开发者提供了快速构建分布式...

    spring_in_action-sixth-edition.pdf

    "Spring 实战第六版" Spring Framework 是一个广泛使用的 Java 应用程序框架,它提供了一个通用的编程模型和配置机制,帮助开发者快速构建企业级应用程序。下面是对 Spring Framework 的详细知识点总结: 1. 什么...

    spring类库 spring类库

    Spring框架是Java开发中不可或缺的一部分,它以其模块化、松耦合和强大的功能特性而闻名。这个"spring类库"包含的资源可以帮助开发者快速搭建基于Spring的项目环境。以下是对Spring框架及其核心组件的详细解释。 ...

Global site tag (gtag.js) - Google Analytics