- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《跟开涛学spring3(第12-13章)》.doc
作者博客:/ 欢迎访问
第十二章 零配置
12.1 概述
12.1.1 什么是零配置
在SSH集成一章中大家注意到项目结构和包结构是不是很有规律,类库放到WEB-INF/lib文件夹下,jsp文件放到WEB-INF/jsp文件夹下,web.xml需要放到WEB-INF文件夹下等等,为什么要这么放呢?不这样放可以吗?
所谓零配置,并不是说一点配置都没有了,而是配置很少而已。通过约定来减少需要配置的数量,提高开发效率。
因此SSH集成时的项目结构和包结构完全是任意的,可以通过配置方式来指定位置,因此如web.xml完全可以不放在WEB-INF下边而通过如tomcat配置文件中新指定web.xml位置。
还有在SSH集成中还记得使用在Struts2配置文件中使用模式匹配通配符来定义action,只要我们的URL模式将类似于/{module}/{action}/{method}.action即可自动映射到相应的Action类的方法上,但如果你的URL不对肯定是映射不到的,这就是规约。
零配置并不是没有配置,而是通过约定来减少配置。那如何实现零配置呢?
零配置的实现方式
零配置实现主要有以下两种方式:
惯例优先原则:也称为约定大于配置或规约大于配置(convention over configuration),即通过约定代码结构或命名规范来减少配置数量,同样不会减少配置文件;即通过约定好默认规范来提高开发效率;如Struts2配置文件使用模式匹配通配符来定义action就是惯例优先原则。
基于注解的规约配置:通过在指定类上指定注解,通过注解约定其含义来减少配置数量,从而提高开发效率;如事务注解@Transaction是不是基于注解的规约,只有在指定的类或方法上使用该注解就表示其需要事务。
对惯例优先原则支持的有项目管理工具Maven,它约定了一套非常好的项目结构和一套合理的默认值来简化日常开发,作者比较喜欢使用Maven构建和管理项目;另外还有Strtus2的convention-plugin也提供了零配置支持等等。
大家还记得【7.5 集成Spring JDBC及最佳实践】时的80/20法则Java平台的公共注解Java 依赖注入标准 chapter12/dependecyInjectWithAnnotation.xml”。
12.2.2 Spring自带依赖注入注解
一、@Required:依赖检查;
对应于基于XML配置中的依赖检查,但XML配置的依赖检查将检查所有setter方法,详见【3.3.4 依赖检查】;
基于@Required的依赖检查表示注解的setter方法必须,即必须通过在XML配置中配置setter注入,如果没有配置在容器启动时会抛出异常从而保证在运行时不会遇到空指针异常,@Required只能放置在setter方法上,且通过XML配置的setter注入,可以使用如下方式来指定:
1、准备测试Bean
2、在Spring配置文件(chapter12/dependecyInjectWithAnnotation.xml)添加如下Bean配置:
3、测试类和测试方法如下:
在XML配置文件中必须指定setter注入,否则在Spring容器启动时将抛出如下异常:
二、@Autowired:自动装配
自动装配,用于替代基于XML配置的自动装配,详见【3.3.3 自动装配】。
基于@Autowired的自动装配,默认是根据类型注入,可以用于构造器、字段、方法注入,使用方式如下:
@Autowired默认是根据参数类型进行自动装配,且必须有一个Bean候选者注入,如果允许出现0个Bean候选者需要设置属性“required=false”,“required”属性含义和@Required一样,只是@Required只适用于基于XML配置的setter注入方式。
(1)、构造器注入:通过将@Autowired注解放在构造器上来完成构造器注入,默认构造器参数通过类型自动装配,如下所示:
1、准备测试Bean,在构造器上添加@AutoWired注解:
2、在Spring配置文件(chapter12/dependecyInjectWithAnnotation.xml)添加如下Bean配置:
2测试类如下:
3、在Spring配置文件中没有对“testBean11”进行构造器注入和setter注入配置,而是通过在构造器上添加@ Autowired来完成根据参数类型完成构造器注入。
(2)、字段注入:通过将@Autowired注解放在构造器上来完成字段注入。
1、准备测试Bean,在字段上添加@AutoWired注解:
2、在Spring配置文件(chapter12/dependecyInjectWithAn
您可能关注的文档
- 《课程设计任务书》.doc
- 《课程设计大纲》.doc
- 《课程设计报告模板》.doc
- 《课程设计拨叉设计说明书》.doc
- 《贝尔金PLAY N600 HD千兆双频无线路由器试用评测(F7D8301,F7D4301)》.doc
- 《财务报表分析从入门到精通》.doc
- 《财务报表分析方法》.doc
- 《财务报表粉饰与识别》.doc
- 《财务报表舞弊与税务稽查》.doc
- 《财务报表解释》.doc
- 新启航英语二年级上册Unit5 Festival Period 2 课件.ppt
- 10.相亲相爱一家人 情境化教学课件-统编版2026道德与法治一年级下册.ppt
- 7星星点点 AI赋能课件 2026人美版美术一年级下册.ppt
- 3.2 世界的气候类型(教学课件) 2025中图版地理八年级上册.ppt
- 5.1 发达国家与发展中国家的差异(教学课件) 2025中图版地理八年级上册.ppt
- 13.快乐的儿童节 情境化教学课件-统编版2026道德与法治一年级下册.ppt
- 新启航英语二年级上册Unit5 Festival Period 1 课件.ppt
- 2025冀教版数学三年级上册全册教学课件.ppt
- 地理试卷云南名校联盟2026届高三上学期第三次联考(12.25-12.26).docx
- 2025~2026学年第一学期 高一年级英语试卷.docx
最近下载
- AI工业设备预测性维护解决方案.pptx VIP
- 《马克思主义基本原理》教案 第5课 坚持按唯物辩证法办事.pdf VIP
- 湖南省高三英语复习:介词复习.doc VIP
- 内浮顶储罐消防知识培训.pptx VIP
- 立体定向γ-射线放射治疗原发性肝癌的临床疗效与应用分析.docx VIP
- 2026及未来5年中国智能门禁系统市场数据分析及竞争策略研究报告.docx
- 门诊部护士长年终述职PPT课件.pptx VIP
- 电仪技术培训教材最终版.doc VIP
- 2025年人教版(2024)小学信息科技六年级(全一册)教学设计(附目录P219).docx
- 《马克思主义基本原理》教案 第4课 事物的普遍联系与变化发展(下).pdf VIP
原创力文档


文档评论(0)