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配置文件。
分享到:
相关推荐
"跟我学Spring3(12.1)零配置之概述"这部分内容旨在引导开发者理解并掌握Spring的无XML配置方式。 在传统的Spring配置中,XML配置文件是必不可少的,开发者需要在这些文件中定义bean及其依赖关系。然而,随着Java...
【第十二章】零配置。Spring的目标之一是减少代码的配置量,从而提高开发效率。12.1节概述零配置,12.2节和12.3节分别介绍注解实现Bean依赖注入和注解实现Bean定义。 在学习Spring的过程中,读者会从基础到高级,...
【第十二章】零配置: 1. **12.1 概述**:Spring 3引入了更多的注解支持,使得可以实现零XML配置,提高开发效率。 2. **12.2 注解实现Bean依赖注入**:通过@Component、@Autowired等注解,可以省去XML配置文件,直接...
《跟我学Spring3》这本书详细...《跟我学Spring3》全面讲解了Spring如何与ORM框架、Web框架集成,以及如何实现事务管理和零配置开发。通过案例实践,读者可以深入理解Spring在实际项目中的应用,提升Java EE开发技能。
5. **第十二章:零配置** - **12.1 概述**:介绍了Spring 2.5引入的基于注解的配置,减少了XML配置的复杂性。 - **12.2 注解实现Bean依赖注入**:解释了如何使用@Component、@Service、@Repository和@Controller...
title: 第12章 Java内存模型与线程 12.1 概述- 7 深入理解Java虛拟机:JVM高级特性与最佳实践(第3版)- 5第五部分 高效并发- 第1
- **零配置的概念**:通过使用 Spring 提供的注解或基于 Java 类的配置方式,可以在不编写 XML 配置文件的情况下完成 Spring 应用程序的配置。 #### 12.2 注解实现 Bean 依赖注入 - **依赖注入**:Spring 通过依赖...
《跟我学Spring3》是一本全面介绍Spring框架的教程,主要涵盖了Spring对ORM支持、事务管理以及与其他Web框架的集成等内容。以下是对其中关键知识点的详细解析: 1. **Spring对ORM的支持**: - **8.1 概述**:这...
第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》是一本全面介绍Spring框架的教程,主要涵盖了Spring对ORM支持、事务管理、Web框架集成以及SSH集成开发等多个方面。Spring作为Java领域最流行的应用框架之一,其强大的功能和灵活性使得它在企业级...
2020秋八年级数学上册第十二单元全等三角形12.1全等三角形导学案无答案新版新人教版
好用KIS全系列写狗工具——12.1专业版yt88.part1.rar 后面还有2个,下载后一起解压才能使用
2021高考地理一轮复习第十二章世界地理12.1世界主要的地区课件湘教版
通过对2020八年级物理下册第十二章简单机械12.1杠杆精讲精练的学习,学生不仅能够掌握杠杆的基本理论知识,还能够通过实践操作,提高解决实际问题的能力。杠杆原理的学习不仅仅是对一种简单机械的认识,更是对物理学...
将Xcode适配可以调试、编译、运行、打包系统版本号为iOS 12.1 版本的设备,解决"Could not find Developer Disk Image"问题 使用详情 请前往https://blog.csdn.net/u010731949/article/details/52576792
第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.0是Spring在积蓄了3年之久后,隆重推出的一个重大升级版本,进一步加强了Spring作为Java领域第一开源平台的翘楚地位。 Spring3.0引入了众多Java开发者翘首以盼的新功能和新特性,如OXM、校验及格式化框架...
这一知识领域在华东师范大学出版社出版的2018年秋季版的八年级数学教材中被细致地讲解,并且在第12章整式的乘除中占据着重要地位。本章节的标题为“12.1幂的运算3积的乘方”,这标志着学生即将走进一个全新的数学...