浅谈对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>
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/q406226321/article/details/75267243

对spring boot的理解。

最近一个项目尝试了使用spring boot 和mybitas。spring boot 简介:Spring Boot开发始于 2013 年,伴随Spring4.0而生,2014 年 4 月发布 1.0...
  • qq_39025452
  • qq_39025452
  • 2018-03-24 01:47:25
  • 35

spring boot 理解

spring boot 采用了自动转配的模式, 在使用了@configration 的内部使用了@bean  注册某些bean, 也可以继承WebMvcConfigurerAdapter 等一些spr...
  • shen19920619
  • shen19920619
  • 2017-05-23 17:07:48
  • 597

浅谈springboot

最近研究了下springboot、并不难、我的理解他只是把一些常用maven、jar依赖做了一次匹配、老程序员都遇到过jar冲突的情况、甚至在一些项目中需要用到同一个jar的不同版本、运行时没有问题、...
  • huoyan403
  • huoyan403
  • 2017-04-22 21:27:43
  • 1470

什么是spring,谈谈你对spring的理解5

1.首先Spring是一个开源的框架,Spring为简化企业级应用开发而生,使用Spring可以使简单的JavaBean实现以前只有EJB才能实现的功能。Spring是一个IOC和AOP容器框架。 在...
  • liuhuanchao
  • liuhuanchao
  • 2015-12-19 17:52:00
  • 22504

李航博士的《浅谈我对机器学习的理解》--文章部分解读

我现在的目标便只有两个:1.保护好自己想保护的人(要不断增强自己的实力)    2.想解开这个世界的各种规则(比如大脑的思维是如何形成的之类的) 如果类比于修仙小说中的三千大道的话,那么这就是我...
  • XianxinMao
  • XianxinMao
  • 2017-04-29 21:19:54
  • 417

JAVA关于HashMap浅谈

HashMap是在底层运用了hashtable技术来对key-value的键值对数据进行存储,其中以key作为哈希索引,故而key是不允许"相 同"的,但是可以把null作为key值。     Has...
  • wangjxy2013
  • wangjxy2013
  • 2015-12-15 15:31:18
  • 249

浅谈对spark的理解

spark中重要的两个概念sparkContext,rdds 1. sparkContext是连接spark分布式集群的入口,在scala shell中默认为“sc” 2. rdds叫做弹性分布式...
  • lieyanhaipo
  • lieyanhaipo
  • 2017-07-29 18:32:14
  • 217

通俗易懂SpringMVC整体框架理解

最近又重新温习了一下前台SpringMVC框架,能够从整体上对SpringMVC有一个全局的认识。在这里也总结一下,为那些即将学习SpringMVC的亲们,做一个很好的开端吧!  1. Sprin...
  • ZHOUCHAOQIANG
  • ZHOUCHAOQIANG
  • 2015-10-30 12:55:48
  • 14172

对极限编程四个核心的理解(二)

三、反馈1)       客户对软件的反馈在极限编程中一个很重要的实践是有现场客户,从此也可以看出来对客户反馈的重视。有了现场客户,就能够随时对软件做出反馈,能够保证在“瞄准”的过程中不断调整,保证软...
  • lingyun2005
  • lingyun2005
  • 2005-04-27 16:42:00
  • 2297

【EF】浅谈EF

在应用程序中,数据库是不可或缺的。这让程序设计师一定要为了连接与访问数据库而学习SQL指令。因此在信息业中,很多人都在研究如何将程序设计模型和数据库集成在一起,ORM技术由此而生。 虽然微软有A...
  • u013036092
  • u013036092
  • 2016-07-02 16:33:45
  • 633
收藏助手
不良信息举报
您举报文章:浅谈对spring的理解
举报原因:
原因补充:

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