「一句话金典」Spring轻量级框架
来源:互联网 发布:zip mac怎么解压软件 编辑:程序博客网 时间:2024/06/17 07:28
一句话总结:Spring,即是IOC控制反转的一个容器,核心实现将组件对象的装配和管理权限交给外部容器Spring(注解:成为有入侵能力的黑客,名词),有BeanWrapper核心类来顶;也是一个DI容器(依赖注入容器),通过动态调用反射机制实现将配置文件中的组件对象关系通过组件的Setter方法注入组件,实现设置好配置文件的目的(注解:此时黑客根据配置文件这个攻击需求发起攻击,动词),有BeanFactory核心类来顶。
详解:
1:反射机制实现依赖注入,将配置文件(注释:依据)作为依赖关系通过组件setter方法(注解:组件对象的利用价值体现在
setter与getter方法)注入到组件,来实现设定,即:「在运行期,(由Spring)根据配置文件,将对象的引用通过组件提供的Setter方法进行设定相互关系,
实现依赖注入;(DI的好处就是提供一种无侵入式的高扩展性框架),通过反射机制动态调用其核心组件BeanFactory实现依赖注入;」
切入点两个概念:控制反转 =Inverse of Control =IOC;依赖注入=Dependency Injection =DI
控制反转是对组件对象控制权的转移,从程序代码本身转移到了外部容器,通过容器来实现对象组件的装配和管理。
注入类型:接口注入、设置注入、构造注入。而Spring则是IOC的一个容器。
在Spring中,所谓依赖注入,即在运行期由容器将依赖关系注入到组件之中,就是在运行期,由Spring根据配置文件,将其他对象的引用通过组件提供的Setter方法进行设定。
从核心而言,Spring是一个DI容器,其设计哲学是提供一种无侵入式的高扩展性框架,即无需代码中涉及Spring专有类,即可将其纳入Spring容器进行管理。
作为对比,EJB则是一种高度侵入性的框架范,他制定了众多的接口和编码规范,要求实现这必须遵从。侵入性的结果就是,一旦系统基于侵入性框架设计开发,那么之后任何脱离这个框架的企图都将付出极大的代价。为了避免这种情况,实现无侵入性的目标,Spring大量引入了Java的Reflection机制(反射机制),通过动态调用的方式避免硬编码方式的约束,并在此基础上建立了其核心组件BeanFactory,以此作为其依赖注入机制的实现基础。
3: Spring的核心代码在org.Springframework.beans包,包括了核心组件的实现类,核心中的核心为BeanWrapper和BeanFactory类。
Spring通过BeanWrapper能力成为“入侵黑客”,通过BeanFactory实现入侵。
- 「一句话金典」Spring轻量级框架
- 「一句话经典」Spring轻量级框架
- JAVA:轻量级框架Spring
- Java EE轻量级框架Spring
- 轻量级JavaEE开发框架Spring知识总结
- Spring 环境搭建 ---轻量级容器框架
- 初识轻量级Java开源框架 --- Spring
- 基于Spring的轻量级工作流框架
- 一句话概括下spring、spring cloud框架主要组件
- 轻量级框架
- spring框架出现的导火索-浓缩为一句话
- 基于Spring的轻量级Web Service事务管理框架及其实现
- 基于Spring的轻量级Web Service事务管理框架及其实现
- 为什么Spring成为SOA开发的首选Java轻量级框架?
- Guice -- 可替代Spring的轻量级DI框架
- 轻量级分布式 RPC 框架 netty+protostuff+zk +Spring
- 轻量级分布式 RPC 框架(netty-Protostuff-ZooKeeper-spring)
- Spring是轻量级的J2EE应用程序框架【转载】
- 连接oracle数据库超时引发的问题。
- eclipse环境搭建ssh(Struts2+Spring2.5+Hibernate3)框架小谈(下)
- Active的多种部署方式
- 【微信开发】---- 公众号支付
- 金毛聪明吗
- 「一句话金典」Spring轻量级框架
- Linux SPI总线和设备驱动架构之四:SPI数据传输的队列化
- scrapy学习
- [Codeforces Round #354 DIV2E (CF676E)] The Last Fight Between Human and AI
- PHP基础之布尔类型、数组、对象、NULL
- 读《暗时间》有感(一)
- 关于在多线程情况下同步爬虫爬取结果的一个例子
- AOP动态代理的简单实现
- 猫哥带你去战斗——Java Web开发——网页篇[4]——表单