spring参考文档学习笔记
用spring也用了很长一段时间了,都没有系统的看过spring的文档及源码。对于一个已经成为默认企业标准的框架,他的优秀不言而喻,其中用到得一些设计模式与技巧也是值得学习的。于是乎决定花点时间来好好系统的研究下。
一、依赖注入
1、bean属性“idref”与“ref”的区别
idref有两个作用,1.方便xml检查,2.它和<value>差不多,只一个字符串。
ref:是spring提供的用于引用类的元素
<idref>是xml以定义的属性,所以在编写beanDefinition.xml的时候就会检查是否存在<idref>的local属性所指定的元素是否已经存在于beanDefinition.xml中,如果不在.xml中,不但spring不能通过,就连检查格式的xml编辑器也提示错误,但bean就不同了,即使bean属性值的内容不在xml中,spring也不会报错,因此只有<idref local>的赋值才是严格检验的<value>,<idref bean>与<value>无意总之,别看idref的名字象是引用,其实际作用就是一个<value>,只不过如果用local属性值只能是.xml中的<bean>的id值而已,<idref local='...'>与id属性一样都是xml中以定义的元素 <ref>元素用来设置属性值引用容器管理的其他bean2(这个其他bean2可以叫做合作者)用ref元素的bean属性指定目标bean是最常见的形式,它允许指向的bean可以在同一个BeanFactory/ApplicationContext(无论是否在同一个XML文件中)中,也可以在父BeanFactory/ApplicationContext中。bean属性的值可以同目标bean的id属性相同,也可以同目标bean的name属性中任何一个值相同。用local属性指定目标bean可以利用XML解析器的能力在同一个文件中验证XML id引用。local属性的值必须与目标bean的id属性一致。如果在同一个文件中没有匹配的元素,XML解析器将会产生一个错误。因此,如果目标bean在同一个XML文件中,那么使用local形式将是最好的选择(为了能够尽可能早的发现错误)一个bean的<idref local='idValue'/>会不引起id值为idValue的bean元素对应的类对象的创建,<idref name='...'>也不会引起对应的类对象的创建
2、是否使用自动装配
自动装配可以使配置减少,但是自动装配无法直接从spring配置文档中去获取bean之间的依赖关系。为了程序的可读性,建议还是尽量不用自动装配。
二、AOP
1、AOP结构分解
spring的AOP由这么几个主要的部分组成:ProxFactory,代理工厂用于声称代理类;PointCut,切点,可以理解为满足条件,条件大致分为两种,一种是类级别的,一种是方法级别的,通过对相应方法的判断来告诉程序你的条件;Advice,通知,可以理解为你要在满足条件之前,之后或前后要做哪些事。Advisor,通知者,代理工厂直接与这个对象打交道,他把切点和通知包裹起来告诉代理工厂代理出来的对象应该有的动作。
2、AOP需要注意的问题
a、spring的代理工厂只能设置一个目标(setTarget),如果要设两个目标,那要再新建一个工厂,重新设置目标。
b、PointCut的静态与动态的差别主要在于动态可以更进一步判断方法传递的参数。如果没有这个需要,考虑性能问题只需要使用静态就行了。
分享到:
相关推荐
无论做毕业设计还是用于学习技能,或工作中当做参考资料,都能发挥重要作用 亲们下载我任何一个付费资源后,即可私信联系我免费下载其他相关资源哦~ 个人花大量时间整理出的实战资料,内容丰富,文档也很详细。无论...
在本学习笔记中,我们将深入探讨JavaEE中的Spring框架,这是一个强大的、全面的企业级应用程序开发框架,它简化了Java开发并提供了丰富的功能。Spring的核心特性包括依赖注入(DI)、面向切面编程(AOP)以及对Java ...
Spring面试专题及答案 SpringMVC SpringCloud SpringBoot面试笔试及答案学习笔记合集: 10个高频Spring BOOT.docx 55个Spring(7模块).docx 68spring(7个模块).docx spring boot35.docx Spring Data JPA中文文档...
《Spring框架案例学习文档笔记》是对Spring框架深入学习的重要参考资料,涵盖了从基础概念到实际应用的多个方面。本文档主要围绕面向抽象编程、JDOM的基本使用、Spring功能模拟、Spring运行环境搭建,以及核心特性...
基于Spring面试专题及答案 SpringMVC SpringCloud SpringBoot面试笔试及答案学习笔记合集(10个): 10个高频Spring BOOT.docx 55个Spring(7模块).docx 68spring(7个模块).docx spring boot35.docx Spring Data ...
### Spring培训学习笔记知识点梳理 #### 一、Spring框架概览 - **启动时间与背景**:Spring项目始于2003年2月,最初的基础代码来源于书籍《Expert One-On-One J2EE Design and Development》。 - **核心特性**: -...
这份尚硅谷的学习笔记涵盖了Spring Boot 3的各个方面,无论你是初学者还是有经验的开发者,都能从中受益。通过阅读`.md`和`.pdf`文件,你可以逐步学习并掌握这些知识点,从而提升自己的技能水平。
《Spring3学习笔记题记》 在IT领域,Spring框架是Java开发中不可或缺的一部分,尤其在企业级应用中,Spring以其强大的功能和灵活性备受青睐。本文将深入探讨Spring3版本的相关知识点,帮助开发者更好地理解和使用这...
标题中的"Spring学习笔记之一“why spring”"表明了这篇笔记主要探讨的是Spring框架的核心价值和使用背景。在IT行业中,Spring是一个广泛使用的Java企业级应用开发框架,它以其依赖注入(Dependency Injection,DI)...
"Spring框架参考文档-5.0.0-中文完整版.pdf"这份文档详尽阐述了Spring 5.0.0的所有特性和用法,包括上述提到的各种新功能和改进。对于想要深入学习Spring框架的开发者来说,这是一份非常宝贵的资源。而"Maven3实战...
**Spring MVC 学习笔记** Spring MVC 是 Spring 框架的一个模块,专门用于构建 Web 应用程序。它提供了一种模型-视图-控制器(Model-View-Controller)架构,帮助开发者处理请求、控制应用程序流程,并实现业务逻辑...
无论做毕业设计还是用于学习技能,或工作中当做参考资料,都能发挥重要作用 亲们下载我任何一个付费资源后,即可私信联系我免费下载其他相关资源哦~ 个人花大量时间整理出的实战资料,内容丰富,文档也很详细。无论...
这套SpringCloud的学习资料将涵盖以上所有知识点,对于初学者和进阶者来说,都是极好的参考资料。通过深入学习和实践,可以提升对SpringCloud的理解和应用能力,从而在实际项目中更好地运用微服务架构。
**SpringBoot学习笔记** SpringBoot是由Pivotal团队开发的一款基于Java的轻量级框架,旨在简化Spring应用的初始搭建以及开发过程。它通过自动配置、起步依赖和运行时嵌入式服务器,使得开发者能够快速地创建独立的...
【Java SSM 学习笔记:Spring、Spring MVC、MyBatis】 SSM 是 Java Web 开发中常用的三大框架,即 Spring、Spring MVC 和 MyBatis。它们各自负责不同的职责,共同构建了一个高效、灵活的 web 应用程序。 1. **...
Spring框架是Java开发中广泛应用的一个轻量级框架,它的核心特性包括依赖注入(Dependency Injection,简称DI)和控制反转(Inversion of ...通过阅读官方文档、参考书籍以及实践项目,可以深入理解并运用这些知识。
无论做毕业设计还是用于学习技能,或工作中当做参考资料,都能发挥重要作用 亲们下载我任何一个付费资源后,即可私信联系我免费下载其他相关资源哦~ 个人花大量时间整理出的实战资料,内容丰富,文档也很详细。无论...
描述指出这些资料是针对Spring框架的学习笔记,适用于学习和参考。标签 "spring" 确定了主题焦点,即Spring框架,这是一个广泛使用的Java企业级应用开发框架,它在简化开发、提高可测试性以及促进模块化方面发挥着...
网络上有一份pdf格式的《JPA学习笔记》,但是内容排版有点乱,而且有缺失的部分,小弟从原来的blog处拷贝出来,并加以排版,制作成了chm格式的,大家应该知道chm格式比较适合作为参考资料或帮助文档的文件格式了。
**Hibernate学习笔记源码及文档** Hibernate 是一款强大的Java持久化框架,它简化了数据库操作,使得开发者可以更专注于业务逻辑而不是数据库交互。本资源包含了Hibernate的学习笔记、源码分析以及开发流程说明文档...