`
jinnianshilongnian
  • 浏览: 21513668 次
  • 性别: Icon_minigender_1
博客专栏
5c8dac6a-21dc-3466-8abb-057664ab39c7
跟我学spring3
浏览量:2420448
D659df3e-4ad7-3b12-8b9a-1e94abd75ac3
Spring杂谈
浏览量:3010227
43989fe4-8b6b-3109-aaec-379d27dd4090
跟开涛学SpringMVC...
浏览量:5640570
1df97887-a9e1-3328-b6da-091f51f886a1
Servlet3.1规范翻...
浏览量:260217
4f347843-a078-36c1-977f-797c7fc123fc
springmvc杂谈
浏览量:1597941
22722232-95c1-34f2-b8e1-d059493d3d98
hibernate杂谈
浏览量:250369
45b32b6f-7468-3077-be40-00a5853c9a48
跟我学Shiro
浏览量:5860582
Group-logo
跟我学Nginx+Lua开...
浏览量:702883
5041f67a-12b2-30ba-814d-b55f466529d5
亿级流量网站架构核心技术
浏览量:785743
社区版块
存档分类
最新评论

【第十二章】零配置 之 12.1 概述 ——跟我学spring3

阅读更多

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不对肯定是映射不到的,这就是规约。

 

零配置并不是没有配置,而是通过约定来减少配置。那如何实现零配置呢?

 

12.1.2 零配置的实现方式

零配置实现主要有以下两种方式:

  • 惯例优先原则:也称为约定大于配置或规约大于配置(convention over configuration),即通过约定代码结构或命名规范来减少配置数量,同样不会减少配置文件;即通过约定好默认规范来提高开发效率;如Struts2配置文件使用模式匹配通配符来定义action就是惯例优先原则。
  • 基于注解的规约配置:通过在指定类上指定注解,通过注解约定其含义来减少配置数量,从而提高开发效率;如事务注解@Transaction是不是基于注解的规约,只有在指定的类或方法上使用该注解就表示其需要事务。

 

对惯例优先原则支持的有项目管理工具Maven,它约定了一套非常好的项目结构和一套合理的默认值来简化日常开发,作者比较喜欢使用Maven构建和管理项目;另外还有Strtus2的convention-plugin也提供了零配置支持等等。

 

大家还记得【7.5 集成Spring JDBC及最佳实践】时的80/20法则吗?零配置是不是同样很好的体现了这个法则,在日常开发中同样80%时间使用默认配置,而20%时间可能需要特定配置。

 

12.1.3  Spring3的零配置

Spring3中零配置的支持主要体现在Spring Web MVC框架的惯例优先原则和基于注解配置。

 

Spring Web MVC框架的惯例优先原则采用默认的命名规范来减少配置。

 

Spring基于注解的配置采用约定注解含义来减少配置,包括注解实现Bean配置、注解实现Bean定义和Java类替换配置文件三部分:

  • 注解实现Bean依赖注入:通过注解方式替代基于XML配置中的依赖注入,如使用@Autowired注解来完成依赖注入。
  • 注解实现Bean定义:通过注解方式进行Bean配置元数据定义,从而完全将Bean配置元数据从配置文件中移除。
  • Java类替换配置文件:使用Java类来定义所有的Spring配置,完全消除XML配置文件。
原创内容,转载请注明私塾在线【http://sishuok.com/forum/blogPost/list/0/2543.html
18
2
分享到:
评论
1 楼 vvv_110 2012-03-19  
好熟悉的内容 可都忘光了..

相关推荐

    跟我学Spring3(12.1)零配置之概述Java开发J

    "跟我学Spring3(12.1)零配置之概述"这部分内容旨在引导开发者理解并掌握Spring的无XML配置方式。 在传统的Spring配置中,XML配置文件是必不可少的,开发者需要在这些文件中定义bean及其依赖关系。然而,随着Java...

    跟我学spring

    【第十二章】零配置。Spring的目标之一是减少代码的配置量,从而提高开发效率。12.1节概述零配置,12.2节和12.3节分别介绍注解实现Bean依赖注入和注解实现Bean定义。 在学习Spring的过程中,读者会从基础到高级,...

    跟我学spring3(8-13)

    【第十二章】零配置: 1. **12.1 概述**:Spring 3引入了更多的注解支持,使得可以实现零XML配置,提高开发效率。 2. **12.2 注解实现Bean依赖注入**:通过@Component、@Autowired等注解,可以省去XML配置文件,直接...

    跟我学spring3(8-13).pdf

    《跟我学Spring3》这本书详细...《跟我学Spring3》全面讲解了Spring如何与ORM框架、Web框架集成,以及如何实现事务管理和零配置开发。通过案例实践,读者可以深入理解Spring在实际项目中的应用,提升Java EE开发技能。

    跟我学spring3(8-13)1

    5. **第十二章:零配置** - **12.1 概述**:介绍了Spring 2.5引入的基于注解的配置,减少了XML配置的复杂性。 - **12.2 注解实现Bean依赖注入**:解释了如何使用@Component、@Service、@Repository和@Controller...

    lanlan2017#JavaReadingNotes#第12章 Java内存模型与线程 12.1 概述1

    title: 第12章 Java内存模型与线程 12.1 概述- 7 深入理解Java虛拟机:JVM高级特性与最佳实践(第3版)- 5第五部分 高效并发- 第1

    跟我学spring3,很不错的spring学习资料

    - **零配置的概念**:通过使用 Spring 提供的注解或基于 Java 类的配置方式,可以在不编写 XML 配置文件的情况下完成 Spring 应用程序的配置。 #### 12.2 注解实现 Bean 依赖注入 - **依赖注入**:Spring 通过依赖...

    跟我学spring3(8-13)

    《跟我学Spring3》是一本全面介绍Spring框架的教程,主要涵盖了Spring对ORM支持、事务管理以及与其他Web框架的集成等内容。以下是对其中关键知识点的详细解析: 1. **Spring对ORM的支持**: - **8.1 概述**:这...

    JavaEE开发的颠覆者SpringBoot实战[完整版].part3

    第12 章 分布式系统开发 456 12.1 微服务、原生云应用 456 12.2 Spring Cloud 快速入门 457 12.2.1 配置服务 457 12.2.2 服务发现 457 12.2.3 路由网关 457 12.2.4 负载均衡 457 12.2.5 断路器 458 12.3 实战 458 ...

    spring3 学习

    《跟我学Spring3》是一本全面介绍Spring框架的教程,主要涵盖了Spring对ORM支持、事务管理、Web框架集成以及SSH集成开发等多个方面。Spring作为Java领域最流行的应用框架之一,其强大的功能和灵活性使得它在企业级...

    2020秋八年级数学上册第十二单元全等三角形12.1全等三角形导学案无答案新版新人教版

    2020秋八年级数学上册第十二单元全等三角形12.1全等三角形导学案无答案新版新人教版

    好用KIS全系列写狗工具——12.1专业版yt88.part1.rar

    好用KIS全系列写狗工具——12.1专业版yt88.part1.rar 后面还有2个,下载后一起解压才能使用

    2021高考地理一轮复习第十二章世界地理12.1世界主要的地区课件湘教版

    2021高考地理一轮复习第十二章世界地理12.1世界主要的地区课件湘教版

    2020八年级物理下册第十二章简单机械12.1杠杆精讲精练含解析新版新人教版

    通过对2020八年级物理下册第十二章简单机械12.1杠杆精讲精练的学习,学生不仅能够掌握杠杆的基本理论知识,还能够通过实践操作,提高解决实际问题的能力。杠杆原理的学习不仅仅是对一种简单机械的认识,更是对物理学...

    xcode配置iOS 12.1 开发包

    将Xcode适配可以调试、编译、运行、打包系统版本号为iOS 12.1 版本的设备,解决"Could not find Developer Disk Image"问题 使用详情 请前往https://blog.csdn.net/u010731949/article/details/52576792

    JavaEE开发的颠覆者SpringBoot实战[完整版].part2

    第12 章 分布式系统开发 456 12.1 微服务、原生云应用 456 12.2 Spring Cloud 快速入门 457 12.2.1 配置服务 457 12.2.2 服务发现 457 12.2.3 路由网关 457 12.2.4 负载均衡 457 12.2.5 断路器 458 12.3 实战 458 ...

    Spring.3.x企业应用开发实战(完整版).part2

    Spring3.0是Spring在积蓄了3年之久后,隆重推出的一个重大升级版本,进一步加强了Spring作为Java领域第一开源平台的翘楚地位。  Spring3.0引入了众多Java开发者翘首以盼的新功能和新特性,如OXM、校验及格式化框架...

    2018年秋八年级数学上册第12章整式的乘除12.1幂的运算3积的乘方作业新版华东师大版

    这一知识领域在华东师范大学出版社出版的2018年秋季版的八年级数学教材中被细致地讲解,并且在第12章整式的乘除中占据着重要地位。本章节的标题为“12.1幂的运算3积的乘方”,这标志着学生即将走进一个全新的数学...

Global site tag (gtag.js) - Google Analytics