我对Spring的理解。

1.Spring实现了工厂模式的工厂类(在这里有必要解释清楚什么是工厂模式),这个类名为BeanFactory(实际上是一个接口),在程序中通常BeanFactory的子类ApplicationContext。Spring相当于一个大的工厂类,在其配置文件中通过<bean>元素配置用于创建实例对象的类名和实例对象的属性。 
2. Spring提供了对IOC良好支持,IOC是一种编程思想,是一种架构艺术,利用这种思想可以很好地实现模块之间的解耦。IOC也称为DI(Depency Injection),什么叫依赖注入呢? 
譬如,Class Programmer 

Computer computer = null; 
public void code() 

//Computer computer = new IBMComputer(); 
//Computer computer = beanfacotry.getComputer(); 
computer.write(); 

public void setComputer(Computer computer) 

this.computer = computer; 


另外两种方式都由依赖,第一个直接依赖于目标类,第二个把依赖转移到工厂上,第三个彻底与目标和工厂解耦了。在spring的配置文件中配置片段如下: 
<bean id=”computer” class=”cn.itcast.interview.Computer”> 
</bean> 

<bean id=”programmer” class=”cn.itcast.interview.Programmer”> 
<property name=”computer”  ref=”computer”></property> 
</bean> 
3. Spring提供了对AOP技术的良好封装, AOP称为面向切面编程,就是系统中有很多各不相干的类的方法,在这些众多方法中要加入某种系统功能的代码,例如,加入日志,加入权限判断,加入异常处理,这种应用称为AOP。实现AOP功能采用的是代理技术,客户端程序不再调用目标,而调用代理类,代理类与目标类对外具有相同的方法声明,有两种方式可以实现相同的方法声明,一是实现相同的接口,二是作为目标的子类在,JDK中采用Proxy类产生动态代理的方式为某个接口生成实现类,如果要为某个类生成子类,则可以用CGLI B。在生成的代理类的方法中加入系统功能和调用目标类的相应方法,系统功能的代理以Advice对象进行提供,显然要创建出代理对象,至少需要目标类和Advice类。spring提供了这种支持,只需要在spring配置文件中配置这两个元素即可实现代理和aop功能,例如, 
<bean id=”proxy” type=”org.spring.framework.aop.ProxyBeanFactory”> 
<property name=”target” ref=””></property> 
<property name=”advisor” ref=””></property> 

</bean> 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring框架是一个开源的Java应用程序开发框架,它提供了一系列的解决方案和工具,用于简化企业级应用程序的开发。以下是对Spring框架的一些理解: 1. 轻量级:Spring框架的设计目标之一是保持轻量级,它不会强制引入过多的依赖或复杂的配置。使用Spring,你可以选择性地使用各个模块和功能,以满足你的需求。 2. 控制反转(IoC):Spring框架通过控制反转(IoC)容器来管理对象的生命周期和依赖关系。你可以通过配置文件或注解来描述对象之间的依赖关系,而不需要显式地在代码中进行硬编码。这样可以提高代码的可维护性和可测试性。 3. 依赖注入(DI):依赖注入是控制反转的一种实现方式,它使得对象不需要自己创建或管理它们所依赖的对象。Spring框架通过依赖注入将所需的依赖关系注入到对象中,使得对象之间解耦,并且方便进行单元测试和模块化开发。 4. 面向切面编程(AOP):Spring框架提供了面向切面编程的支持,使得你可以将横切关注点(例如日志记录、事务管理等)从核心业务逻辑中分离出来,并通过配置文件或注解的方式进行统一管理。 5. 企业级开发支持:Spring框架提供了许多企业级开发的功能和扩展,如集成事务管理、安全性、远程访问、缓存管理等。这些功能可以帮助开发者快速构建高可靠性、可扩展性和安全性的企业级应用程序。 总结来说,Spring框架是一个强大而灵活的Java开发框架,它通过控制反转、依赖注入和面向切面编程等特性,提供了一种优雅的方式来构建和管理Java应用程序。它的设计目标是简化开发过程,提高代码的可维护性和可测试性,同时提供了丰富的企业级功能和扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值