`
iswift
  • 浏览: 189991 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

从Spring头那一堆东西说起

    博客分类:
  • XML
阅读更多

  平时用的最多的框架莫过Spring,但就算用了怎么久也一直对Spring配置文件的头部那一堆的XML Schema云里雾里的。

今天就来好好整整。俗话说,岁月是把杀猪刀,说不定哪天又忘了,好记性不如烂笔头啊,今天就记记。。

 

先来看看最初的版本:

 

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN"
"http://www.springframework.org/dtd/spring-beans-2.0.dtd">
<beans>

</beans>


说明:
1、第一行表示xml声明,任何格式良好的xml文档都必须第一行是声明。相当于告诉解析器这个是xml文档,你给我用xml解析器解析。

2、dtd声明,表示该xml里的元素和属性等需符合spring-beans-2.0.dtd这个文档类型定义标准。



DTD:文件的文件型别定义(Document Type Definition)可以看成一个或者多个 XML 文件的模板,在这里可以定义 XML 文件中的元素、元素的属性、元素的排列方式、元素包含的内容等等。

 

 

 因为DTD的一些局限性,以及XML Schema对数据类型和命名空间的支持。XML Schema很快会将 DTD 取而代之

 

 

被XML Schema 取代后的Spring 配置:

 

 

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
	xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context"
	xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">

</beans>


XML Schema命名空间作用:
1、避免命名冲突,像Java中的package一样

2、将不同作用的标签分门别类(像Spring中的tx命名空间针对事务类的标签,context命名空间针对组件的标签)


代码解释:
1、xmlns="http://www.springframework.org/schema/beans"
声明xml文件默认的命名空间,表示未使用其他命名空间的所有标签的默认命名空间。

2、xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
声明XML Schema 实例,声明后就可以使用 schemaLocation 属性了

3、xmlns:aop="http://www.springframework.org/schema/aop"
声明前缀为aop的命名空间,后面的URL用于标示命名空间的地址不会被解析器用于查找信息。其惟一的作用是赋予命名空间一个惟一的名称。当命名空间被定义在元素的开始标签中时,所有带有相同前缀的子元素都会与同一个命名空间相关联。

4、xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
这个从命名可以看出个大概,指定Schema的位置这个属性必须结合命名空间使用。这个属性有两个值,第一个值表示需要使用的命名空间。第二个值表示供命名空间使用的 XML schema 的位置


所以我们需要什么样的标签的时候,就引入什么样的命名空间和Schema 定义就可以了。




 

 

 

  另外形式良好的xml文档必须遵守的一些语法规则:

  

  1、XML文件第一行必须是XML声明

  2、XML文档必须有根元素

  3、XML文档必须有关闭标签

  4、XML文档标签元素必须正确的嵌套

  5、标签区分大小写

  6、属性必须加引号

 

 

 

 明天就是七夕了,某人说她22年了都是一个人过。。sorry  要开心、快乐、要好好的。

 

 

 

 

 

 

分享到:
评论
2 楼 拾年丶 2015-08-26  
<h1>hehe</h1>
1 楼 lql000000l 2013-07-05  
我原来也觉得spring配置文件前面这一大堆都是云里雾里的,你讲了一下好多了,以后配置的时候也不用紧张。
事情都是这样,熟练了就好了。

相关推荐

    spring 从入门到精通

    压缩包内包含了众多spring学习资料如:Spring从入门到精通.pdf ,spring+...spring事务.pdf,Spring_Framework-3-AOP.ppt,Spring-Hibernate_Frameworks.ppt等学习资料 都是经过我认真帅选过的学习资料,分享给大家用一用

    Spring从入门到精通 源码

    本书最大的特色在于每章都是由浅入深,从一个简单的示例入手,让读者快速了解本章内容,然后再详细讲解本章涉及的基本原理和知识点,最后再通过一个详细的示例宋巩固所学内容。 本书每一章的例子都是经过精挑细选,...

    spring2.0升级到spring3.0.5的开发包

    从Spring 2.0升级到Spring 3.0.5是一个重要的版本迭代,因为每个新版本通常会引入新的特性和性能优化。 Spring 2.0是Spring框架的一个里程碑,它引入了AOP代理、JDBC抽象层、对JSF的支持以及对portlet的集成。然而...

    Spring Integration + Spring WS 整合

    Spring Integration 是一个基于 Java 的集成框架,旨在帮助开发者将不同的应用程序和系统集成在一起。它提供了一种基于消息的集成方式,允许开发者使用消息来交换数据。Spring Integration 提供了多种集成方式,包括...

    Spring Boot整合Spring Batch,实现批处理

    在Java开发领域,Spring Boot和Spring Batch的整合是构建高效批处理系统的一种常见方式。Spring Boot以其简洁的配置和快速的启动能力深受开发者喜爱,而Spring Batch作为Spring框架的一部分,专注于批量处理任务,...

    SpringBatch+Spring+Mybatis+MySql (spring batch 使用jar)

    Spring Batch是一个轻量级的,完全面向Spring的批处理框架,可以应用于企业级大量的数据处理系统。Spring Batch以POJO和大家熟知的Spring框架为基础,使开发者更容易的访问和利用企业级服务。Spring Batch可以提供...

    spring 4.3.14(全)最新的spring4正式版

    Spring 框架是 Java 开发中的一个核心组件,它为构建企业级应用程序提供了全面的编程和配置模型。Spring 4.3.14 是该框架的最后一个4.x系列正式版,发布于2018年2月24日。这个版本在Spring 5.0发布之前提供了一个...

    spring从入门到精通

    《Spring从入门到精通》是一本全面覆盖Spring框架核心概念和技术的指南,旨在帮助读者从零基础开始,逐步掌握Spring的使用和应用开发。Spring作为Java企业级应用开发的主流框架,其强大的功能和灵活性使其在众多框架...

    spring类库 spring类库

    Spring框架是Java开发中不可或缺的一部分,它以其模块化、松耦合和强大的功能特性而闻名。这个"spring类库"包含的资源可以帮助开发者快速搭建基于Spring的项目环境。以下是对Spring框架及其核心组件的详细解释。 ...

    OSGI整合Spring、Mybatis、Spring MVC实现一个登录应用案例

    业务逻辑服务可能从数据库查询用户信息,验证凭证,如果验证成功,则创建一个会话并重定向到主页。 为了在OSGI环境中运行这个应用,我们需要一个OSGI容器,如Apache Felix或Eclipse Equinox。这些容器负责加载和...

    Spring Cloud Gateway 整合 Spring Security 统一登录认证鉴权

    这是一个基于Spring Framework 5,Spring Boot 2 和 Project Reactor 的高性能API网关。它提供了动态路由,服务熔断,负载均衡,以及针对微服务的细粒度控制等功能。通过自定义过滤器,我们可以实现复杂的业务逻辑,...

    spring3.0.5 所有jar文件

    包含spring 3.0.5的所有jar文件: org.springframework.aop-3.0.5.RELEASE.jar org.springframework.asm-3.0.5.RELEASE.jar org.springframework.aspects-3.0.5.RELEASE.jar org.springframework.beans-3.0.5.RELEASE...

    spring3.0mvc自学教程ppt+注解教程+注解实例+springmybatis教程+项目实例+中文api (老师的心血)从入门到项目实战

    Spring 3.0 MVC 是一个强大的Java框架,用于构建企业级Web应用程序。它以其模块化、松耦合和高度可配置性而闻名。本自学教程集合了多种资源,旨在帮助初学者逐步掌握Spring 3.0 MVC的核心概念,并通过实际项目实例...

    Spring cloud与Spring boot 集成完整案例

    - **eumji025**: 这可能是一个特定的模块或子项目,具体功能无法直接推断,但很可能包含了Spring Cloud和Spring Boot的某个具体实现,例如使用Eureka进行服务注册和发现,或者使用Hystrix实现熔断机制。 案例分析...

    最新spring官网下载jar包 spring-4.2.4(免费)

    Spring框架是Java开发中不可或缺的一部分,它以其模块化、易用性和灵活性著称。Spring-4.2.4是该框架的一个稳定版本,为开发者提供了丰富的功能和改进。在这个版本中,Spring团队继续致力于提高性能、增强可维护性和...

    spring_in_action-sixth-edition.pdf

    Spring 生命周期是指 Spring 应用程序从启动到关闭的整个过程。Spring 生命周期包括应用程序的初始化、启动、运行和关闭等阶段。 11. Spring 配置 Spring 配置是指使用 Spring 框架的配置机制,帮助开发者快速构建...

    spring整合rabbitmq需要的jar包(spring版本4.2.0)

    在IT行业中,Spring框架是Java应用开发中的一个关键组件,它提供了一整套服务来简化企业级应用的构建。RabbitMQ则是一个流行的开源消息队列系统,它基于AMQP(Advanced Message Queuing Protocol)协议,用于高效地...

    spring3.1 官方全部jar包

    spring3.1官方所有的jar包 org.springframework.aop-3.1.RELEASE.jar org.springframework.asm-3.1.RELEASE.jar org.springframework.aspects-3.1.RELEASE.jar org.springframework.beans-3.1.RELEASE.jar org....

    spring4.3.1官方全套jar包下载

    spring4.3.1全套jar下载。 4.3.1/spring-aop-4.3.1.RELEASE.jar 4.3.1/spring-aspects-4.3.1.RELEASE.jar 4.3.1/spring-beans-4.3.1.RELEASE.jar 4.3.1/spring-context-4.3.1.RELEASE.jar 4.3.1/spring-core-4.3.1....

    Spring从入门到精通

    ### Spring从入门到精通知识点概览 #### 一、Spring框架概述 ...以上是对《Spring从入门到精通》这一书籍中提到的部分知识点的详细解释和扩展,旨在帮助读者更好地理解和掌握Spring框架的核心概念及应用技巧。

Global site tag (gtag.js) - Google Analytics