• 零配置 之 12.1 概述(拾柒)


    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配置文件。
  • 相关阅读:
    读书记录
    npm install 安装nodesass报错,因为nodejs版本的问题
    jeecgboot修改前端vue页⾯包括vue页⾯传递参数和获取参数
    dedecms织梦调用日期格式大全
    JS数组中every(),filter(),forEach(),map(),some()方法学习笔记!转
    Where条件的in里面放太多数据导致很慢
    谷歌浏览器 F12打开控制台面板缓慢问题
    linux sqlserver数据库连接问题The server selected protocol version TLS10 is not accepted by client preferences[TLS12]
    使用Java语言搭建一个简易的局域网直播(live)系统
    SpringBoot整合aspectj实现面向切面编程(即AOP)
  • 原文地址:https://www.cnblogs.com/ClassNotFoundException/p/6000189.html
Copyright © 2020-2023  润新知