spring的学习笔记

-
spring很好的学习笔记,我想对于想学好或者面试好ioc和aop的同学有帮助的
http://jinnianshilongnian.iteye.com 120【第六章】AOP之6.3基于 Schema的AOP——跟我学 spring3..…,…,…185 121源代码下载—跟我学 spring3 .............207 1.22【第六章】AOP之64基于@ Aspec的AOP—跟我学 spring3 ........208 123【第六章】AOP之66通知参数——跟我学 spring3 219 1.24【第六章】AOP之6.5 Aspect!切入点语法详解——跟我学 spring3 230 125【第六章】AOP之6.6通知参数—跟我学 spring3 244 126【第六章】AOP之67通知顺序—跟我学 spring3 249 127【第六章】AOP之6.8切面实例化模型—跟我学 spring3 251 1.28【第六章】AOP之6.9代理机制—跟我学 spring3 253 1.29【第七章】对DBC的支持之71概述一—一跟我学 spring3, 省, 255 1.30【第七章】对JDBC的支持之72JDBC模板类——跟我学 spring3 258 1.31 SpringMvc+ spring31.1+ hibernate41.0集成及常见问题总结 281 1.32【第七章】对DBC的支持之7.3关系数据库操作对象化——跟我学 spring3 ······· 292 1.33【第七章】对DBc的支持之74 Spring提供的其它帮助——跟我学 spring3【私塾在线原 创】 303 1.34【第七章】对DBC的支持之7.5集成 Spring JDBC.及最佳实践—跟我学 spring3 312 1.35【第八章】对ORM的支持之8.1棚述一—跟我学 spring3 318 1.36【第八章】对ORM的支持之8.2集成 Hibernate3——跟我学 spring3 320 第3/334页 TYE http://jinnianshilongnian.iteye.com 1.1【第二章】IoC之23IoC的配置使用—跟我学 Spring3 11【第二章】IoC之23IoC的配置使用—跟我学 Spring3 发表时间:2012-02-20关键字: spring 23.1XML配置的结构 一般配置文件结构如下: java代码 查看复制到剪贴板打印 beans> 2 <import resource="resource l. xml"/> <bean id ="bean 1"class =""></bean> 4. < bean id="bean" class ></bean> 5.< bean name="bean2” class=”"></bean> 6 <alias alias= bean 3 name="bean 2/> 7 <import resource="resource 2. xml"/> 8.</beans> 1、<bean>标签主要用来进行Bean定义 2、 alias用于定义Bean别名的 3、 Import用于导入其他配置文件的Bean定义,这是为了加载多个配置文件,当然也可以把这些配置文件构造为一个数 组( new Stringl{‘ config1xm", config2.xm)传给 Applicationg。 ntext实现进行加载多个配置文件,那一个更 适合由用户决定;这两种方式都是通过调用 Bean Definition reader读取Bean定义,内部实现没有任何区别。 < <Import>标签可以放在<bean>下的任何位置没有顺序关系。 232Bean的配置 Spring loc容器目的就是管理Bean,这些Bean将根据配置文件中的Bean定义进行创建,而Bean定义在容器内部由 Bean definition对象表示,该定义主要包含以下信息: ●全限定类名(FQN):用于定义Bean的实现类 ●Bean行为定义:这些定义了Bean在容器中的行为;包括作用域(单例、原型创建)、是否惰性初始化及生命周期等 ●Bean创建方式定义:说明是通过构造器还是工厂方法创建Bean; ●Bean之间关系定义:即对其他bean的引用,也就是依赖关系定义,这些引用bean也可以称之为同事bean或依赖 bean,也就是依赖注入 Bean定义只有“全限定类名”在当使用构造器或静态工厂方法进行实例化bean时是必须的,其他都是可选的定义。难 道 Spring只能通过配置方式来创建Bean吗?回答当然不是,某些 Singleton Bean Registry接口实现类实现七允许将那些 第4/334页 ITEYG http://jinnianshilongnian.iteye.com 1.1【第二章】IoC之2.3IoC的配置使用——跟我学 Spring3 非 BeanFactory创建的、已有的用户对象注册到容器中,这些对象必须是共享的,比如使用 DefaultListable Bean Factory的 IregisterSingletor0方法。不过建议采用元数据定义。 233Bean的命名 每个Bean以有一个或多个id(或称之为标识符或名字),在这里我们把第一个id称为“标识符”,其余id叫做 “别名”;这些id在oC容器中必须唯一。如何为Bean指定id呢,有以下几种方式; 不指定id,只配置必须的全限定类名,由loC容器为其生成一个标识,客户端必须通过接口“T getBean( Class<T> required Type)"获取Bean java代码: 查看复制到剪贴板打印 1. <bean class="cn. javass spring chapter2 helloworld. HelloImpl"/> (1) 测试代码片段如下 java代码: 查看复制到剪贴板打印 1.@Test 2. public void test10( 3. Bean Factory bean Factory 4. new ClassPath XmlApplication Context("chapter2/namingbean.xml) 5 /根据类型获取bean HelloApi helloApi= bean Factory getBean(HelloApi. class): 7 helloApi. sayHelloO 8.} 二、指定id,必须在loc容器中唯一; ava代码: 第5/334页 TYE http://jinnianshilongnian.iteye.com 1.1【第二章】IoC之2.3IoC的配置使用——跟我学 Spring3 查看复制到剪贴板打印 1. <bean id="bean"class="cn, javass spring chapter 2. helloworld. HelloImpl"/>(2) 测试代码片段如下 ava代码: 查看复制到剪贴板打印 1.@Test 2. public void test20( 3. Bean Factory bean Factory 4. new ClassPathXmlApplication Context("chapter2/namingbean2 xml"); 5./根据d获取bean 678 HelloApi bean bean Factory. getBean ("bean", HelloApi class) bean sayhello( 指定name,这样name就是“标识符,必须在Ioc容器中唯一 java代码 查看复制到剪贴板打印 <bean name="bean"class="cn javass spring chapter 2. helloworld. HelloImpl"/>(3 测试代码片段如下 java代码 查看复制到剪贴板打印 Test 2. public void test30( 3 Bean Factory bean factory 4. new Class PathXmlApplicationContext("chapter 2 /namingbean3 xml"); 5 根据name获取bean 6. HelloApi bean bean Factory. get Bean("bean", Hello Api class); 7. bean sayhello( 8.} 第6/334页 TYE http://jinnianshilongnian.iteye.com 1.1【第二章】IoC之2.3IoC的配置使用——跟我学 Spring3 四、指定id和name,id就是标识符,而name就是别名,必须在loc容器中唯—; ava代码: 查看复制到剪贴板打印 1. <bean id="beanl "name="aliasl 2. class="cn. javass spring chapter2 helloworld. HelloImpl"/> 3.<!-如果d和name一样,IoC容器能检测到,并消除冲突-> 4. <bean id="bean"name="bean"class="cn. javass springchapter 2. helloworld. HelloImpl/> 测试代码片段如下: java代码 查看复制到剪贴板打印 1.@Test 2. public void test40( Bean Factory bean Factory 4. new ClassPathXmlApplication Context("chapter2/namingbean4xml"); 5 ∥/根据id获取bean 6 HelloApi beanl=bean Factory getBean("beanl", HelloApi class) 7 bean 1.say helloo ∥/根据别名获取bean HelloApi bean bean Factory. get Bean(alias l", HelloApi class bean 2 say helloo 11 据id获取bean 12 HelloApi bean3= bean Factory getBean("bean", HelloApi class) 13 bean. say helloo 14 Stringl bean aLias bean Factory. getaliases ( "bean3") 15 /因此别名不和id样,如果一样则由IoC容器负责消除冲突 Assert assertEquals(O, bean Alias length) 五、指定多个ηame,多个name用","、“;”、"″分割,第一个被用作标识符,其他的( alias1、 alias2 alias3)是别名,所有标识符也必须在Ioc容器中唯一 ava代码: 第7/334页 TYE http://jinnianshilongnian.iteye.com 1.1【第二章】IoC之2.3IoC的配置使用——跟我学 Spring3 查看复制到剪贴板打印 1. <bean name="beanl; alias11,alias 12; alias13 alias14 2 class=cn. javass spring chapter2 helloworld. Hellolmpl"/> 3.<!-当指定时,name指定的标识符全部为别名> 4. <bean id="bean 2"name="alias 21; alias 22 5. class="cn. javassspring chapter 2. helloworld. Hellolmpl"/> (5) 测试代码片段如下 ava代码: 查着复制到剪贴板打印 @Test 2 public void test50( 3. Bean Factory beanFactory 4. new ClassPathXmlApplication Context("chapter2/namingbean5xml"); /1根据id获取bean HelloApi beanl= bean Factory getBean ("beanl", HelloApi class) 7 beanl say helloo 8 /2根据别名获取bean 9 HelloApi aliasll bean Factory getBean("aliasl1, HelloApi class) 10 alias 11.sayhelloo 11 /3验证确实是四个别名 Stringl bean lalas bean Factory getAliases ("bean 1") 3456 System. out. printIn("=======namingbean5xml bean1 2========") for(String alias: bean lAlas)( System.out println(alias) Assert assertEquals(4, bean IAlias length); 18 /根据id获取bean 19 HelloApi bean =bean Factory getBean ("bean2 HelloApi. class); 20 bean 2. sayhelloo 2根据别名获取bean HelloApi alias21 bean Factory getBean(alias21", HelloApi class); 23 alias 21. say hello o: 24 /验证确实是两个别名 25 Stringll bean aLias bean Factory. getAliases("bean") 26 System. out. println(=======namingbean5xml bean 2 34========") for(String alias bean2Alias)[ out println(alias) 29 30 Assert assert Equals(2, bean2Alias. length) 31.} 六、使用<lias>标签指定别名,别名也必须在IoC容器中唯一 java代码: 第8/334页 TYE http://jinnianshilongnian.iteye.com 1.1【第二章】IoC之2.3IoC的配置使用——跟我学 Spring3 查看复制到剪贴板打印 123 <bean name="bean"class="cn. javass spring chapter 2. helloworld. HelloImpl"/> <aliasalias ="alias l"name="bean"/> <alias alias="alias name="bean"/> (6) 测试代码片段如下 java代码 查看复制到剪贴板打印 1.@Test 2. public void test60( 3. Bean Factory bean Factory 4. new Class PathXmlApplicationContext("chapter 2/namingbean6 xml " 根据id获取bean 5678901 HelloApi bean bean Factory getBean("bean", HelloApi class) bean. sayHelloo ∥/根据别名获取bean HelloApi aliasl bean Factory getBean ("alias1", HelloApi class) ias1. sayHelloo HelloApi alias2 bean Factory getBean(alias 2, HelloApi class), 12 alias 2. sayhelloo 13 Stringll beanalias bean Factory getAliases bean " System. out. println("=======namingbean6 xml bean 34========") 456789 for string alias: bean Alias)( System. out. printIn(alias); System. out. print ("=======namingbean 6 xml bean 6========") Assert assert Equals(2, beanAlias. length) 以上测试代码在 Cn Kavass. spring. chapter2 Naming BeanTest java文件中。 从定义来看,name或d如果指定它们中的一个时都作为“标识符”,那为什么还要有id和name同时存在呢?这是因为 当使用基于XML的配置元数据时,在XML中id是一个真正的 XML id属性,因此当其他的定义来引用这个id时就体现出id 的好处了,可以利用XML解析器来验证引用的这个id是否存在,从而更早的发现是否引用了一个不存在的bean,而使 用name,则可能要在真正使用bean时才能发现引用一个不存在的bean。 ●Bean命名约定:Bean的命名遵循XML命名规范,但最好符合Java命名规范,由“字母、数字、下划线组成“,而且 应该养成一个良好的命名习惯,比如采用“驼峰式″,即第一个单词首字母开始,从第二个单词开始首字母大写开始 这样可以增加可读性。 第9/334页 TYE http://jinnianshilongnian.iteye.com 1.1【第二章】IoC之2.3IoC的配置使用——跟我学 Spring3 23.4实例化Bean Spring loc容器如何实例化Bean呢?传统应用程序可以通过new和反射方式进行实例化Bean。而 Spring loc容器则需 要根据Bean定义里的配置元数据使用反射机制来创建Bean。在 Spring Ioc容器中根据Bean定义创建Bean主要有以下 几种方式 使用构造器实例化Bean:这是最简单的方式, Spring loc容器即能使用默认空构造器也能使用有参数构造器两种方 式创建Bean,如以下方式指定要创建的Bean类型 使用空构造器进行定义,使用此种方式, class属性指定的类必须有空构造器 ava代码 查看复制到剪贴板打印 1. <bean name="bean1"class="cn javass spring chapter2. Hellolmpl2"/> 使用有参数构造器进行定义,使用此中方式,可以使用< constructor-arg>标签指定构造器参数值,其中 aindex表示位 置, value表示常量值,也可以指定引用,指定引用使用ref来引用另一个Bean定义,后边会详细介绍 java代码: 查看复制到剪贴板打印 <bean name="bean"class="cn javass spring chapter2. Hellolmpl2"> 2.<!-指定构造器参数-> 3 <constructor-arg index="0"value="Hello Spring !"/> 4. </bean> 知道如何配置了,让我们做个例子的例子来实践一下吧 (1)准备 Bean class(HelloImpl2java),该类有一个空构造器和一个有参构造器 java代码 查看复制到剪贴板打印 1. package cn. javass spring chapter 2 2 public class HelloImpl2 implements HelloApi f 第10/334页 ITEYG
673KB
spring笔记
2014-03-05spring学习笔记;供大家参考主要是spring的底层实现了
spring框架笔记下载_course
2020-03-26这个是我学习期间的一点点笔记,希望能够帮助到大家! 相关下载链接://download.csdn.net/download/kc419694858/1817364?utm_source=bbsseo
99KB
Spring总结笔记
2012-12-17Spring总结笔记,很多关于Spring方面的知识都总结出来了,希望对大家有帮助
40KB
Spring笔记.docx
2019-05-13Spring学习笔记,Spring就是一个工厂,可以将所有对象创建和依赖关系维护,交给spring管理
561KB
spring课堂笔记
2008-11-03两则spring课堂随笔,希望初学者有帮助
151KB
Spring学习笔记(精华全记录)
2008-07-18分享了,总结了下Spring的一些精华。还有最好对照我做的ppt(JAVA Spring介绍 ppt)看可能效果会比较好。PPT在我的资源里也可以找到。联系我:shansun123@126.com
356KB
spring学习笔记(最新版)
2018-03-19通过一段时间学习spring技术后的一些心得,作为以后开发文档
3.98MB
传智博客Spring框架2016版笔记资料.zip
2018-01-02传智博客Spring框架2016版笔记资料 传智博客Spring框架2016版笔记资料 传智博客Spring框架2016版笔记资料 传智博客Spring框架2016版笔记资料 传智博客Spring框架
701KB
Spring框架笔记
2018-08-09Spring框架 IoC学习笔记,对Spring框架学习中各种问题的记录。
580KB
传智播客Spring学习笔记(全)
2012-04-12传智播客Spring全套视频学习笔记,整理的非常完整。
25KB
Spring笔记
2017-11-02Spring笔记 Spring笔记 Spring笔记 Spring笔记 Spring笔记
黑马程序员SpringMVC课堂笔记下载_course
2019-01-01黑马程序员SpringMVC课堂笔记 黑马程序员SpringMVC课堂笔记 相关下载链接://download.csdn.net/download/zhengjiawei1/10888588?utm_
76KB
jd抢购茅台脚本文件
2021-01-04抢购茅台抢购茅台抢购茅台
88KB
python 随机森林算法及其优化详解
2020-09-19主要介绍了ptyhon 随机森林算法及其优化详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
Python数据殿堂:数据分析与数据可视化
2020-01-02【入门基础+轻实战演示】【讲授方式轻松幽默、有趣不枯燥、案例与实操结合,与相关课程差异化】利用python进行数据处理、 分析,并结合大量具体的例子,对每个知识进行实战讲解,本课程通过大量练习和案例对各个知识点技能进行详细讲解。通过本 课程,学生将懂得pandas、numpy、matplotlib等数据分析工具;通过实战,学生将了解标准的数据分析流程,学会使用可视化的 方法展示数据及结果。
2020华为HCIA/HCNA/数通/路由交换/实验/视频/教程/持续更新赠题库
2020-05-25本课程不仅可以帮助大家顺利考取华为HCIA证书,同时技术视频均为理论+实战配套讲解,讲解细致,通俗易懂,资料完整,可以让大家学到实实在在企业用到的网络技术,本课程包含完整的学习资料,视频+PPT课件,能够帮助你快速掌握HCIA数通网络技术,同时视频中3-4视频后面的附件课件包含了HCIA数通考试题库(带答案),适合从零基础学网络考HCIA的同学!
18.78MB
Android开发入门60个小案例+源代码
2013-08-24适合初学者,大量简单小例子,完整源代码。
程序员的数学:微积分
2019-09-28本课程介绍程序员必备的数学基础内容,在取材上侧重人工智能、数据分析等热门领域
大数据的入门视频教程
2018-07-26大数据技术入门视频课程,会从基础思想和原理架构开始,全面介绍大数据的思想体系和架构,为学员进一步学习大数据奠定良好的基础。内容涉及大数据的核心问题、大数据核心思想,Google的三篇论文、GFS,Google的分布式文件系统,MapReduce,BigTable、Hadoop和Spark生态体系以及具体应用演示。
24.46MB
图书管理系统(Java + Mysql)我的第一个完全自己做的实训项目
2019-01-04图书管理系统 Java + MySQL 完整实训代码,MVC三层架构组织,包含所有用到的图片资源以及数据库文件,大三上学期实训,注释很详细,按照阿里巴巴Java编程规范编写
-
学院
RabbitMQ消息中间件实战(附讲义和源码)
RabbitMQ消息中间件实战(附讲义和源码)
-
学院
跟我练内测小分队学习礼包
跟我练内测小分队学习礼包
-
博客
php 通过 JSON RPC 与 golang 通讯
php 通过 JSON RPC 与 golang 通讯
-
博客
python用if语句判断公交卡余额
python用if语句判断公交卡余额
-
学院
微软人工智能AI量化投资平台Qlib技术教程
微软人工智能AI量化投资平台Qlib技术教程
-
博客
pandas中DataFrame行、列显示不全解决方法
pandas中DataFrame行、列显示不全解决方法
-
下载
观察者类型协处理器ObserverProcessorLog.zip
观察者类型协处理器ObserverProcessorLog.zip
-
博客
Java打印日历,每4个月1行打印
Java打印日历,每4个月1行打印
-
学院
【数据分析-随到随学】Tableau数据分 析+PowerBI
【数据分析-随到随学】Tableau数据分 析+PowerBI
-
博客
2021年汽车修理工(高级)试题及答案及汽车修理工(高级)考试申请表
2021年汽车修理工(高级)试题及答案及汽车修理工(高级)考试申请表
-
下载
Visual Studio2013+PCL1.8.0+Opencv2.4.10成功配置环境完美运行 基于Kinect三维重建
Visual Studio2013+PCL1.8.0+Opencv2.4.10成功配置环境完美运行 基于Kinect三维重建
-
博客
Git基础知识
Git基础知识
-
博客
TCP 和 UDP
TCP 和 UDP
-
学院
【数据分析-随到随学】数据分析建模和预测
【数据分析-随到随学】数据分析建模和预测
-
博客
PyThon基础
PyThon基础
-
博客
2021-01-16
2021-01-16
-
下载
失物招领系统源码链接
失物招领系统源码链接
-
下载
Jenkins+SVN
Jenkins+SVN
-
学院
【数据分析-随到随学】Python数据获取
【数据分析-随到随学】Python数据获取
-
博客
ping connect:网络不可达 /未知的服名称或服务
ping connect:网络不可达 /未知的服名称或服务
-
下载
自动弹出U盘.exe
自动弹出U盘.exe
-
学院
(新)备战2021软考网络工程师历年真题培训套餐
(新)备战2021软考网络工程师历年真题培训套餐
-
博客
体验Vue3.0, 仿一个网易云音乐客户端
体验Vue3.0, 仿一个网易云音乐客户端
-
博客
XSAVE consistency problem, dumping leaves
XSAVE consistency problem, dumping leaves
-
博客
Java语言基础
Java语言基础
-
下载
大学 毕业设计 项目实训 某酒吧网站官网 源代码
大学 毕业设计 项目实训 某酒吧网站官网 源代码
-
下载
安全培训复习题.doc
安全培训复习题.doc
-
博客
rt-thread 入门系列之先用后学
rt-thread 入门系列之先用后学
-
下载
T9+运算板维修指导
T9+运算板维修指导
-
博客
【JVM】十四、垃圾回收概述
【JVM】十四、垃圾回收概述