Spring配置概述
1、Spring容器
1)要使应用程序中的Spring容器成功启动,需要以下三方面的条件都具备:
· Spring架构的类包都已经放在应用程序的类路径下;
· 应用程序为Spring提供完备的Bean配置信息;
· Bean的类都已经放到应用程序的类路径下。
2)Bean配置信息是Bean的元数据信息,它由以下4个方面组成:
· Bean的实现类;
· Bean的属性信息,如数据源的连接数、用户名、密码等;
· Bean的依赖关系,Spring根据依赖关系配置完成Bean之间的装配;
· Bean的行为配置,如生命周期范围及生命周期各过程的回调函数等。
3)Spring容器高层视图:

Bean的配置信息定义了Bean的实现及依赖关系,Spring容器根据各种形式的Bean配置信息在容器内部建立Bean定义注册表,然后根据注册表加载、实例化Bean,并建立Bean和Bean的依赖关系,最后将这些准备就绪的Bean放到Bean缓存池中,以供外层的应用程序进行调用。
2、Spring3.0的Schema表:
| 目录 | 说明 |
| spring-beans-3.0.xsd | [说明]:Spring3.0最主要的Schema,用于配置bean [命名空间]:http://www.springframework.org/schema/beans [Schema文件]:http://www.springframework.org/schema/beans/spring-beans-3.0.xsd |
| spring-aop-3.0.xsd | [说明]:AOP的配置定义的Schema [命名空间]:http://www.springframework.org/schema/aop [Schema文件]:http://www.springframework.org/schema/aop/spring-aop-3.0.xsd |
| spring-tx-3.0.xsd | [说明]:声明式事务配置定义的Schema [命名空间]:http://www.springframework.org/schema/tx [Schema文件]:http://www.springframework.org/schema/tx/spring-tx-3.0.xsd |
| spring-mvc-3.0.xsd | [说明]:MVC配置的Schema,是Spring3.0新增的 [命名空间]:http://www.springframework.org/schema/mvc [Schema文件]:http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd |
| spring-util-3.0.xsd | [说明]:为简化某些复杂的标准配置提供的Schema [命名空间]:http://www.springframework.org/schema/util [Schema文件]:http://www.springframework.org/schema/util/spring-util-3.0.xsd |
| spring-jee-3.0.xsd | [说明]:为简化Java EE中EJB、JNDI等功能的配置而提供的Schema [命名空间]:http://www.springframework.org/schema/jee [Schema文件]:http://www.springframework.org/schema/jee/spring-jee-3.0.xsd |
| spring-jdbc-3.0.xsd | [说明]:为配置Spring内嵌数据库提供的Schema,是Spring3.0新增的 [命名空间]:http://www.springframework.org/schema/jdbc [Schema文件]:http://www.springframework.org/schema/jdbc/spring-jdbc-3.0.xsd |
| spring-jms-3.0.xsd | [说明]:JMS配置的Schema [命名空间]:http://www.springframework.org/schema/jms [Schema文件]:http://www.springframework.org/schema/jms/spring-jms-3.0.xsd |
| spring-lang-3.0.xsd | [说明]:增加了对JRuby和Groovy等动态语言的支持,该Schema是为集成动态语言而定义的 [命名空间]:http://www.springframework.org/schema/lang [Schema文件]:http://www.springframework.org/schema/lang/spring-lang-3.0.xsd |
| spring-oxm-3.0.xsd | [说明]:配置对象XML映射的Schema,是Spring3.0新增的 [命名空间]:http://www.springframework.org/schema/oxm [Schema文件]:http://www.springframework.org/schema/oxm/spring-oxm-3.0.xsd |
| spring-task-3.0.xsd | [说明]:任务调度的Schema [命名空间]:http://www.springframework.org/schema/task [Schema文件]:http://www.springframework.org/schema/task/spring-task-3.0.xsd |
| spring-tool-3.0.xsd | [说明]:为集成Spring一些有用工具定义的Schema [命名空间]:http://www.springframework.org/schema/tool [Schema文件]:http://www.springframework.org/schema/tool/spring-tool-3.0.xsd |
| spring-context-3.0.xsd | [说明]:扫描类包以应用注解定义Bean的Schema [命名空间]:http://www.springframework.org/schema/context [Schema文件]:http://www.springframework.org/schema/context/spring-context-3.0.xsd |
3、Bean的命名
Bean的配置时,需要为其指定一个id属性作为Bean的名称。id在IoC容器中必须是唯一的,必须以字母开始,后面可以是字母、数字、连字符、下划线、句号、冒号等完整结束的符号,逗号和空号这些非完整结束符都是非法的。
Bean的命名,可以使用<bean>的name属性进行命名,name属性没有字符上的限制,几乎可以使用任何字符,如?ab、123等,如下所示:
<bean name="#car1" class="com.baobaotao.simple.Car"/>
id和name都可以指定多个名字,名字之间可用逗号、分号或者空格进行分隔:
<bean name="#car1,123,$car" class="com.baobaotao.simple.Car"/>
这里,为Bean定义了三个名称,用户可以使用getBean("#car1")、getBean("123")、getBean("$car")来获取IoC容器中的Car Bean。
Spring配置文件中不允许出现两个相同的id的<bean>,但却可以出现两个相同name的<bean>,如果有多个name相同的<bean>,通过getBean获取时,将返回最后声明的那个Bean,因为后面的Bean覆盖了前面同名的Bean。
如果id和name都没指定,Spring自动将全限定类名作为Bean的名称,如getBean("com.baobaotao.simple.Car")获取Car Bean。
Spring配置概述的更多相关文章
- Spring 配置概述
理解了IoC的概念,那Spring框架是如何具体操作的呢?Spring IoC容器(ApplicaitonContext)负责创建Bean,并通过容器将功能类Bean注入到其他需要的Bean中.Spr ...
- Spring JDBC概述
1.jdbc 概述 Spring JDBC是Spring框架的持久层子框架.用于对数据库的操作(增删改查). 而JdbcTemplate它是spring jdbc子框架中提供的一个操作类,用于对原始J ...
- Spring Integration概述
1. Spring Integration概述 1.1 背景 Spring框架的一个重要主题是控制反转.从广义上来说,Spring处理其上下文中管理的组件的职责.只要组件减轻了职责,它们同 ...
- Spring Cloud 概述
1. Spring Cloud 引言 首先我们打开spring 的官网:https://spring.io/ 我们会看到这样一张图片 这个图片告诉我们,开发我们的应用程序就像盖楼一样, 首先我们需要搭 ...
- (转)Spring的概述
http://blog.csdn.net/yerenyuan_pku/article/details/69663685 Spring的概述 什么是Spring 据度娘所载: Spring是一个开源框架 ...
- 微服务与Spring Cloud概述
微服务与Spring Cloud随着互联网的快速发展, 云计算近十年也得到蓬勃发展, 企业的IT环境和IT架构也逐渐在发生变革,从过去的单体应用架构发展为至今广泛流行的微服务架构. 微服务是一种架构风 ...
- Spring IOC 概述
Spring IOC 概述 IOC(Inversion of Control) 控制反转,也叫 DI(D_ependency injection_) 依赖注入.是一种设计思想.不过我并不同意所谓反转的 ...
- 1.Spring 框架概述
目录 Spring 框架概述 1 我们所说的 "Spring "是什么意思 2. Spring和Spring框架的历史 3. 设计理念 4.反馈和贡献 5.开始使用 Spring ...
- Spring配置c3p0数据源时出错报:java.lang.NoClassDefFoundError: com/mchange/v2/ser/Indirector
今天在使用Spring配置c3p0数据源时,使用的数据库是mysql,服务器是tomcat,运行时报了一个 java.lang.NoClassDefFoundError: com/mchange/v2 ...
随机推荐
- SVM入门
前言: 又有很长的一段时间没有更新博客了,距离上次更新已经有两个月的时间了.其中一个很大的原因是,不知道写什么好-_-,最近一段时间看了看关于SVM(Support Vector Machine)的文 ...
- opencv学习笔记(05)——操作相邻区域
下面的例子以灰度图像为例: #include <opencv2\highgui\highgui.hpp> #include <opencv2\imgproc\imgproc.hpp& ...
- MySQL不同库名相同表结构实现主从配置
数据库版本 5.6.16 在两个服务器上,存在不同名字的数据库,但是两个数据库中的所有表结构相同,实现主从复制. 主库服务器的数据库名为yoon,从库服务器的库名为hank 在从库的my.cnf配置文 ...
- Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space解决方法 问题描述 Exception ...
- 一个inline-block的样式。
<span style="height: 31px; font-family: 宋体; font-weight: bold; color: rgb(160, 64, 0); text- ...
- 关于拓扑排序(topologicalsort)
假设我们有一组任务要完成,并且有些任务要在其它任务完成之后才能开始,所以我们必须非常小心这些任务的执行顺序.如果这些任务的执行顺序足够简单的话,我们可以用链表来存储它们,这是一个很好的方案,让我们可以 ...
- 【最小生成树】BZOJ 1196: [HNOI2006]公路修建问题
1196: [HNOI2006]公路修建问题 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 1435 Solved: 810[Submit][Sta ...
- [设计模式] 15 解释器模式 Interpreter
在GOF的<设计模式:可复用面向对象软件的基础>一书中对解释器模式是这样说的:给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子.如果一种特定类 ...
- poj 1562 Oil Deposits (广搜,简单)
题目 简单的题目,只是测试案例的输入后面可能有空格,所以要注意一下输入方式. #define _CRT_SECURE_NO_WARNINGS //题目的案例输入n,m后面有些貌似有空格... #inc ...
- poj 3067 Japan(线段树?,神奇卡时代码,暂未完)
题目 //暴力的,没什么算法的,被琪琪视为傻逼的代码: //照者学长的神奇幸运卡时代码,虽然能AC,但是中途wa,tle了那么多次,啥也不想说了 //学长威武,能想出sum必须要是—— __int64 ...