`
dengwanchuan
  • 浏览: 47584 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
最近访客 更多访客>>
社区版块
存档分类
最新评论

你对Spring的理解

阅读更多

1.Spring实现了工厂模式的工厂类(在这里有必要解释清楚什么是工厂模式),这个类名为BeanFactory(实际上是一个接口),在程序中通常BeanFactory的子类ApplicationContextSpring相当于一个大的工厂类,在其配置文件中通过<bean>元素配置用于创建实例对象的类名和实例对象的属性。

2. Spring提供了对IOC良好支持,IOC是一种编程思想,是一种架构艺术,利用这种思想可以很好地实现模块之间的解耦。IOC也称为DIDepency 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>


 

分享到:
评论

相关推荐

    方志朋版——深入理解Spring Cloud与微服务构建.pdf

    《深入理解Spring Cloud与微服务构建》是针对Java开发者,特别是对微服务架构感兴趣的开发者的一本重要参考资料。Spring Cloud作为目前最流行的微服务框架之一,它提供了构建分布式系统所需的多种工具和服务,包括...

    一步步深入理解Spring内部原理-带源码

    Spring框架是Java开发中不可或缺的一部分,它以其强大的依赖注入(IOC)和面向切面编程(AOP)功能闻名。为了深入理解Spring的内部原理,我们...在面试中,对这些原理的清晰理解会让你脱颖而出,展示出深厚的技术功底。

    《深入理解SpringCloud与微服务构建》_sample.pdf

    《深入理解SpringCloud与微服务构建》_sample.pdf 《深入理解SpringCloud与微服务构建》_sample.pdf 《深入理解SpringCloud与微服务构建》_sample.pdf 《深入理解SpringCloud与微服务构建》_sample.pdf

    深入理解spring cloud与微服务构建 pdf高清完整版

    深入理解spring cloud与微服务构建 pdf高清完整版下载 带目录

    spring_hibernate_struts2的理解

    这是对spring_hibernate_struts2的理解,可以在面试中简要的抓住重点进行陈述。

    Spring 揭秘 全面 深入了解Spring

    《Spring 揭秘:全面深入了解Spring》是一本旨在帮助开发者深入理解并熟练掌握Spring框架的权威指南。...通过阅读这本书,你将能够深入理解Spring的内部机制,更好地利用Spring来构建高效、可扩展的企业级应用。

    Spring容器的通俗理解及简单写法

    通过理解并掌握Spring容器的工作原理,开发者可以更有效地利用Spring框架,提高代码的可测试性、可维护性和可扩展性。在实践中,Spring的IoC容器可以帮助我们编写出更加灵活和模块化的代码,从而提升整个应用的质量...

    《深入理解Spring Cloud与微服务构建》word版本

    《深入理解Spring Cloud与微服务构建》是一本专注于讲解如何使用Spring Cloud构建高效、可靠的微服务系统的书籍。Spring Cloud作为目前最流行的微服务框架之一,它提供了大量的工具和服务,帮助开发者快速搭建分布式...

    spring源码, 可以很好的学习spring源码, 对spring更深入理解

    通过学习Spring的源码,开发者可以更深入地理解其设计理念和实现机制,提升自己的编程技能。本文将针对Spring框架的关键组件和核心概念进行详细的解释。 首先,Spring的核心是依赖注入(Dependency Injection,DI)...

    《深入理解Spring Cloud与微服务构建》学习笔记(八)

    实际操作中,你可以参考提供的"spring_boot_eureka_demo1025"项目,它应该包含了配置Eureka Server、客户端和服务调用的示例代码,通过运行和调试,可以加深对这些概念的理解。在实践中不断探索和学习,是掌握这些...

    深入理解Spring Cloud与微服务构建

    Spring Cloud作为Java语言的微服务落地框架,在Spring开源社区和Pivatol、Netflix两大公司的推动下飞速发展,得到了众多开发者的认可,Spring Cloud在未来很可能成为微服务框架的领导者和规范。

    Spring Cloub 入门理解

    标题 "Spring Cloub 入门理解" 指向了学习和理解 Spring Cloud 的基础知识,这对于构建可扩展和容错的微服务架构至关重要。Spring Cloud 的核心组件包括: 1. **Spring Cloud Config**: 这是配置管理工具,允许你...

    spring 5 , Spring Boot 2.0,Spring cloud

    "Learning Spring Boot 2.0 pdf"可能涵盖的主题包括:Spring Boot的起步,理解其自动配置机制,创建RESTful API,集成数据库(如MySQL、MongoDB),使用Spring Boot进行测试,部署应用,以及如何利用Spring Boot的...

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

    Spring框架是Java应用程序开发中的一个核心组件,它提供了一个丰富的IOC(Inversion of Control,控制反转)和AOP(Aspect...对于开发者来说,理解这些变化和新特性是至关重要的,以便充分利用Spring 3.0.5带来的优势。

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

    通过查看这些文件,你可以学习如何将批处理逻辑集成到Spring Boot应用中,并理解如何配置和运行批处理作业。 总的来说,Spring Boot与Spring Batch的结合为开发批处理应用提供了一种强大而灵活的解决方案。通过学习...

    Spring中文文档下载

    这个压缩包包含Spring的多个中文版本的文档,可以帮助开发者深入理解Spring的功能和使用方法。 `Spring3.0中文版.chm`提供了Spring框架3.0版本的中文手册。3.0版本是Spring的一个重要里程碑,引入了基于注解的配置...

    Spring相关的外文文献和翻译,spring论文参考文献,Java

    通过对这些外文文献的学习,开发者不仅可以提升对Spring框架的理解,还能了解到Java开发的最佳实践,以及如何在实际项目中解决复杂问题。这将对你的职业生涯产生积极影响,提高你在Java开发领域的专业素养。所以,...

    个人理解Spring的工作流程

    整理了一下spring的加载, 个人对于Spring的流程的理解,望多多指正

    idea spring assistant插件

    IntelliJ IDEA是一款广受欢迎的Java开发集成环境,它提供了丰富的功能来提升开发效率。Spring Assistant是专门为IntelliJ IDEA设计的...如果你是Spring框架的使用者,安装并熟练使用这个插件将极大地提升你的开发体验。

Global site tag (gtag.js) - Google Analytics