- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Java笔记第2章7Spring
Spring概述
Spring是一个DI和AOP容器的开源框架,为简化企业级应用开发而生。使用Spring可以使得意的JavaBean实现以前只有EJB才能实现的功能。
Spring模块:DAO, ORM, JEE, AOP, WEB,这些模块都被装入Spring容器,由Spring统一管理。
二.Spring中的Bean配置
1.IOC和DI
IOC是一种思想,其思想是反转资源获取的方向。传统的资源查找方式要求组件向容器发起请求查找资源,作为回应,容器适时的返回资源。而应用了IOC之后,则是容器该去地将资源推送给它所管理的组件,组件所要做的仅是选择一种合适的方式来接收资源。这种行为也叫查找的被动形式。
DI是IOC思想的一种实现,是一种具体的设计模式。在DI模式里,容器以一些预先定义好的方式(如setter方法)将匹配的资源注入到每个组件里。DI和IOC经常混用。
2.在Spring的IOC容器里配置Bean
setter注入:最流行的DI类型。需要提供setter方法,注入根据Bean节点的属性值。使用property元素,其中name属性映射属性名,value为属性值。
构造器注入:注入根据配置文件中参数的位置顺序。使用constructor-arg元素
Spring容器
在Spring ICO容器读取Bean配置创建Bean实例之前,必须对它进行实例化。只有在容器实例化后,才可以从IOC容器里获取Bean实例并使用。实现方式有两种:
BeanFactory:IOC容器的基本实现。
ApplicationContext:提供了更多的高级特性。是BeanFactory的子接口。
实例化接口ApplicationContext:它的实现类有:
ClassicPathXmlApplicationContext:从classpath下加载配置文件,最常用
FileSystemXmlApplicationContext:从文件系统中加载配置文件
XmlWebApplicationContext:只能用于web应用中
从IOC容器中获取Bean:调用ApplicationContext的getBean()方法
4.Bean配置
指定Bean的引用:为使应用程序的Bean能够相互访问,引用的方法有:
在Bean配置文件中,通过ref元素为Bean的属性或构造器参数指定对Bean的引用。
也可以在属性或构造器里再次声明Bean,这样的Bean称为内部Bean。内部Bean声明直接包含在property或constructor-arg元素里,不需要设置任何id或name属性。同时内部Bean不能使用在任何其他地方。也不能被引用。
继承Bean配置:Spring允许将通用的Bean配置抽象出来,组成一个父Bean。继承这个Bean的Bean称为子Bean。通过bean的parent属性来指定父Bean。
子Bean从父Bean继承的属性包括Bean的属性和在bean元素里的属性。
子Bean可以覆盖从父Bean继承过来的配置。
可以将父Bean作为配置模板,设置bean的abstract属性为true,这样Spring将不会实例化这个Bean
并不是bean元素里的所有属性都会被继承。比如:autowire, dependency-check, abstract等。
当子Bean想要覆盖父Bean中的class属性时,父Bean中的abstract属性必须为true。
检查属性:当Bean较多进用来检查属性是否设置成功。
通过依赖检查来检查属性:依赖检查只适用于setter注入。同时检查所有的属性。在bean的dependentcy-check属性里指定依赖检查模式。
通过@Required注解检查属性:可以针对个别属性进行检查。需要先注册后置处理器。
5.后置处理器
注册RequiredAnnotationBeanPostProcessor后置处理器
加入jar包:common-annotations.jar(如使用JavaSE6则不用导入)
导入context命名空间,同时在配置文件加入如下配置:context:annotation-config/
三.Sping的事务操作
Spring支持的事务传播行为
当一个事务的操作牵扯到其它事务操作时。需要将这两个事务放入一个事务中,同时这两个事务也要有自己的事务。这样才能保证当某个事务不能通过时,整个事务同样可以提交。添加这样的事务可以有两种方式:
使用注解的方式,在@Transactional注解的propagation属性中定义传播行为,默认是REQUIRED,需要设置为REQUIRES_NEW。
在配置文件中配置事务的属性,在tx:method元素中设定传播事务属性
您可能关注的文档
- erdas9.2地土利用分类.doc
- 2012年广东省电大《共公关系学》课程形考册(1-4)参考答案.doc
- 2012年广东省考全真拟模试卷行测答案解析.docx
- 2012年广东省梅州市考中数学试卷解析版.doc
- esl第1次课材料段-落的展开写法2.doc
- ETF申购赎回与二市级场买卖的区别.doc
- Etkodu中学教任师职条件和岗位职责.doc
- 2012年广东省广州市模二试题(文数 精校版).doc
- 2012年广东省高一学双生语报30期(含答案).doc
- 2012年广东省梅州市考中数学试卷.doc
- 2025年成都市玩偶生产荧光涂鸦互动玩偶开发可行性研究报告.docx
- 2025年成都市海绵生产用于体育馆室外运动场地透水改造可行性研究报告.docx
- 2025年天津市体操鞋企业团建运动应用报告.docx
- 2025年上海市溶洞极限运动(速降)场地开发可行性研究报告.docx
- 2025年上海市涵洞工程施工技术应用可行性研究报告.docx
- 2025年上海市体育场馆设施扎带安全防护可行性研究报告.docx
- 2025年上海市牦牛育肥产业园区建设可行性研究报告.docx
- 2025年旅拍宠物陪伴拍摄项目可行性研究报告.docx
- 2025年上海市进口食品节庆主题快闪店可行性研究报告.docx
- 2025年上海市洗选厂尾矿综合利用产业化可行性研究报告.docx
最近下载
- 肩关节疾三病ppt课件.ppt VIP
- 企业数字化转型L1-L5数据架构设计方法论及案例【52页PPT】.pptx VIP
- 显微镜操作手册-ch axio imager.pdf VIP
- 2025年内蒙古包头市住房发展建设集团有限公司招聘11人笔试模拟试题及答案解析.docx VIP
- 2024年包头市住房发展建设集团有限公司人员招聘笔试备考题库及答案解析.docx VIP
- 2025年内蒙古包头市住房发展建设集团有限公司招聘11人笔试备考题库及答案解析.docx VIP
- 2025包头市住房发展建设集团有限公司招聘笔试备考试题及答案解析.docx VIP
- ____公司销售部绩效考核表模板范本.pdf VIP
- 肩关节解剖课件.ppt VIP
- 浙江省丽水市2024-2025学年高二下学期期末考试地理试卷.docx VIP
文档评论(0)