在阅读的过程中有不论什么问题,欢迎一起交流

邮箱:1494713801@qq.com   

QQ:1494713801

一、Spring头信息

Spring配置文件的头部信息通常是固定不变的。但每个标签都有自己的含义。xml命名空间格式例如以下:

<?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:context="http://www.springframework.org/schema/context"

xmlns:cache="http://www.springframework.org/schema/cache"

                xmlns:p="http://www.springframework.org/schema/p

                xmlns:task="http://www.springframework.org/schema/task"

                xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-3.0.xsd

  http://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-3.0.xsd

  http://www.springframework.org/schema/taskhttp://www.springframework.org/schema/task/spring-task-3.1.xsd

  http://www.springframework.org/schema/cachehttp://www.springframework.org/schema/cache/spring-cache-3.1.xsd">

<!— xml配置内容 -->

</beans>

、XML Schema命名空间作用:

)、避免命名冲突,像Java中的package一样

)、将不同作用的标签分门别类(像context命名空间针对组件的标签)

、代码解释:

)、xmlns="http://www.springframework.org/schema/beans"

声明xml文件默认的命名空间,表示未使用其它命名空间的全部标签的默认命名空间。

)、xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

声明XML Schema
实例,声明后就能够使用 schemaLocation属性了

)、xmlns:context="http://www.springframework.org/schema/context"

4)、xmlns:cache="http://www.springframework.org/schema/cache"

5)、xmlns:p="http://www.springframework.org/schema/p"

给XML配置文件"减肥"的还有一个选择就是使用p名称空间。当我们採用了p名称空间。我们就能够在bean元素中使用属性(attribute)来描写叙述bean的property值。

6)、 xmlns:task="http://www.springframework.org/schema/task"

)、xmlns:aop="http://www.springframework.org/schema/mvc"

声明前缀为mvc的命名空间,后面的URL用于标示命名空间的地址不会被解析器用于查找信息。其惟一的作用是赋予命名空间一个惟一的名称。

当命名空间被定义在元素的開始标签中时,全部带有同样前缀的子元素都会与同一个命名空间相关联。

)、xsi:schemaLocation="

http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd

这个从命名能够看出个大概。指定Schema的位置这个属性必须结合命名空间使用。这个属性有两个值,第一个值表示须要使用的命名空间。第二个值表示供命名空间使用的 XML schema的位置

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

二、Spring配置文件结构

beans标签中能够包括4个标签:

<alias>为一个定义过的bean起一个别名

<bean>向Spring容器中定义bean元素

<description>用来描写叙述Spring context或每一个bean元素。尽管他会被Spring容器所忽略,但<description>元素能够通过工具生成属于你的Spring
context文档

<import>导入其它Spring context的定义

1、bean命名空间:

1)、标签bean中能够包括例如以下元素:

<constructor-arg>向bean的构造函数注入值或引用,即构造函数注入

<description>同beans中作用同样。用来描写叙述Spring context或每一个bean元素,尽管他会被Spring容器所忽略,但<description>元素能够通过工具生成属于你的Spring
context文档

<lookup-method>用法来取代getter注入,指定一个方法。他会在执行被复写从而返回一个指定的bean,即getter注入

<meta>同意为你的bean进行meta配置,仅在一些特殊场合下实用

<property>为bean的特定属性注入一个值或者引用。这就是我们常说的setter注入

<replaced-method>用一个新的实现来取代bean的某个方法

2)、标签bean中能够包括例如以下属性:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDUxNTc2MQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" width="550" height="480">

2、Context命名空间

1)、Context标签:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDUxNTc2MQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" width="531" height="270">

<context:component-scan/>具体解释

.假设不想在xml文件里配置bean。能够给我们的类加上spring组件注解,仅仅需再配置下spring的扫描器<context:component-scan/>就能够实现bean的自己主动载入。

然后在程序中增加注解便可自己主动载入bean,@Component是全部受Spring管理组件的通用形式;而@Repository@Service@Controller则是@Component的细化,用来表示更详细的用例(比如,分别相应了持久化层、服务层和表现层)。

也就是说,你能用@Component来注解你的组件类,但假设用@Repository@Service@Controller来注解它们,你的类或许能更好地被工具处理,或与切面进行关联。

<context:component-scan>提供两个子标签:<context:include-filter>和<context:exclude-filter>各代表引入和排除的过滤。

有了<context:component-scan>,还有一个<context:annotation-config/>标签根本能够移除掉。由于已经被包括进去了。

3、AOP命名空间

1)、AOP标签

4、JEE命名空间

1)、JEE标签

【深入JAVA EE】Spring配置文件解析的更多相关文章

  1. Spring配置文件解析--依赖注入

    1.构造器注入基于构造器的DI通过调用带参数的构造器来实现,每个参数代表着一个依赖.此外,还可通过给stattic工厂方法传参数来构造bean.构造器参数解析根据参数类型进行匹配,如果bean的构造器 ...

  2. 系统启动时,spring配置文件解析失败,报”cvc-elt.1: 找不到元素 'beans' 的声明“异常

    现象:spring加载配置文件applicationContext.xml出错,抛出nested exception is og.xml.sax.SAXParseException; lineNumb ...

  3. SSH问题:系统启动时,spring配置文件解析失败,报”cvc-elt.1: 找不到元素 'beans' 的声明“异常

    现象:spring加载配置文件applicationContext.xml出错,抛出nested exception is og.xml.sax.SAXParseException; lineNumb ...

  4. Spring配置文件解析--bean属性

    1.bean设置别名,多个别名用逗号隔开 <!--使用alias--> <bean id="app:dataSource" class="...&quo ...

  5. Spring配置文件解析--集合注入方法

    <bean id="moreComplexObject" class="example.ComplexObject"> <property n ...

  6. Spring Boot 2.0 学习笔记(一)——JAVA EE简介

    本章内容:JAVA EE>Spring>Spring Boot 一.JAVA EE简介 1.1 Java ee优点:结束了Web开发的技术无序状态,让程序员.架构师用同一种思维去思考如何架 ...

  7. Java EE 学习(7):IDEA + maven + spring 搭建 web(3)- 配置数据库

    参考: https://my.oschina.net/gaussik/blog/513444 注:在阅读本文前,请先阅读: Java EE 学习(5):IDEA + maven + spring 搭建 ...

  8. Java EE 学习(6):IDEA + maven + spring 搭建 web(2)- 配置 Spring

    参考:https://my.oschina.net/gaussik/blog/513353 注:此文承接上一文:Java EE 学习(5):IDEA + maven + spring 搭建 web(1 ...

  9. 【Java EE 学习 81】【CXF框架】【CXF整合Spring】

    一.CXF简介 CXF是Apache公司下的项目,CXF=Celtix+Xfire:它支持soap1.1.soap1.2,而且能够和spring进行快速无缝整合. 另外jax-ws是Sun公司发布的一 ...

随机推荐

  1. 如何通过IP地址分辨公网、私网、内网、外网

    如何通过IP地址分辨公网.私网.内网.外网   内.外网是相对于防火墙而言的,在防火墙内部叫做内网,反之就是外网.   在一定程度上外网等同于公网,内网等同于私网.   地址为如下3个区域就是处于私网 ...

  2. CentOS下Nginx部署React静态应用

    查看CentOS版本: cat /etc/redhat-release 安装nginx: yum install nginx 查看nginx版本: nginx -v 启动nginx: systemct ...

  3. Mybatis Plugin插件安装破解及使用

    2018年2月更新 2018年2月份,提供一个网上比较多的一个版本V3.21版本,下载资源里面有个已整合版直接解压放入C:\Users\你的用户名\.IntelliJIdea2017.3\config ...

  4. BZOJ 4766: 文艺计算姬

    4766: 文艺计算姬 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 456  Solved: 239[Submit][Status][Discuss] ...

  5. 洛谷P1279 字串距离

    题目描述 设有字符串X,我们称在X的头尾及中间插入任意多个空格后构成的新字符串为X的扩展串,如字符串X为”abcbcd”,则字符串“abcb□cd”,“□a□bcbcd□”和“abcb□cd□”都是X ...

  6. 比较全的.NET页面缓存技术文章

    原文发布时间为:2009-11-04 -- 来源于本人的百度文章 [由搬家工具导入] http://www.cnblogs.com/jacksonwj/archive/2009/07/09/15197 ...

  7. sublime 常用快捷键备忘

    转一篇sublime常用的快捷键备忘 sublime常用快捷键 选择类Ctrl+D 选中光标所占的文本,继续操作则会选中下一个相同的文本.Alt+F3 选中文本按下快捷键,即可一次性选择全部的相同文本 ...

  8. [LeetCode] Sum Root to Leaf Numbers dfs,深度搜索

    Given a binary tree containing digits from 0-9 only, each root-to-leaf path could represent a number ...

  9. Android解析XML之SAX解析器

    SAX(Simple API for XML)解析器是一种基于事件的解析器,它的核心是事件处理模式,主要是围绕着事件源以及事件处理器来工作的.当事件源产生事件后,调用事件处理器相应的处理方法,一个事件 ...

  10. NYOJ 27.水池数目-DFS求连通块

    水池数目 时间限制:3000 ms  |  内存限制:65535 KB 难度:4   描述 南阳理工学院校园里有一些小河和一些湖泊,现在,我们把它们通一看成水池,假设有一张我们学校的某处的地图,这个地 ...