浅谈对spring的理解

原创 2017年07月17日 19:50:44
1.Spring实现了工厂模式的工厂类,这个类名为BeanFactory(实际上是一个接口),在程序中通常BeanFactory的子类ApplicationContext。Spring相当于一个大的工厂类,在其配置文件中通过<bean>元素配置用于创建实例对象的类名和实例对象的属性。
2. Spring提供了对IOC良好支持,IOC是一种编程思想,是一种架构艺术,利用这种思想可以很好地实现模块之间的解耦。IOC也称为DI(Depency Injection),什么叫依赖注入呢?
3. 譬如,`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>
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

浅谈对Spring IOC以及DI的理解

浅谈对Spring IOC以及DI的理解

【转】浅谈spring理解

Spring中最为重要的无非就是IOC和AOP。 对IOC来讲,你讲一下IOC的定义,IOC就是说对象本身的创建不依赖应用本身,而是依赖于外部容器,如果没有IOC那么我们在我们的业务类,要调用DA...

浅谈Spring中IOC和AOP是什么?

解释Spring中的IOC? IOC:Inversion of Control控制反转,也叫(Dependency Injection)依赖注入, dao接口的实现不再是业务逻辑层调用工厂类去获取,...
  • snn1410
  • snn1410
  • 2015年04月21日 17:46
  • 7892

Spring security用户验证机制浅谈.

1.  首先CustomUserDetailsService需要实现UserDetailsService(org.springframework.security.core.userdetails.U...

(原创)Spring security用户验证机制浅谈.

1.  首先CustomUserDetailsService需要实现UserDetailsService(org.springframework.security.core.userdetails.U...
  • d7011800
  • d7011800
  • 2013年03月19日 17:05
  • 18096

浅谈spring中BeanDefinitionDocumentReader中的作用

在spring中BeanDefinitionDocumentReader的主要作用是解析bean.xml配置文件 BeanDefinitionDocumentReader是一个接口,通过实例...
  • java_zc
  • java_zc
  • 2015年09月10日 10:24
  • 656

通过实例浅谈Spring运作机制

看到这个标题大家可能又想:哎,又一个重新发明轮子的人。在这里很想先声明一下,写这篇文章只是想让大家了解一下Spring到底是怎么运行的,并不是想重造轮子噢,希望大家看完这篇文章后能对Spring有更深...

浅谈Spring与IOC

1.什么是Spring    Spring是一个开源的轻量级的应用开发框架,目的是为了简化企业级编程,降低各个模块之间的侵入性和耦合度    Spring 提供了IOC和AOP的功能,可以将组建的耦合...
  • l_vaule
  • l_vaule
  • 2016年05月06日 21:14
  • 1239

如何自定义事件(Spring事件机制浅谈)

LZ第一次在工作中接触Spring事件机制是项目中的定时任务,当Spring容器初始化完成时,把配置在数据库中的定时任务数据全部加载.此时只用定义一个类实现ApplicationListener接口,...

浅谈Spring中的Quartz配置

注:如果和s2sh整合,在quartz配置的3个bean里都加上 autowire="no"   Quartz是一个强大的企业级任务调度框架,Spring中继承并简化了Quartz,下面就看看在S...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:浅谈对spring的理解
举报原因:
原因补充:

(最多只允许输入30个字)