Spring配置概述

简介: 原文:Spring配置概述1、Spring容器 1)要使应用程序中的Spring容器成功启动,需要以下三方面的条件都具备:   · Spring架构的类包都已经放在应用程序的类路径下;   · 应用程序为Spring提供完备的Bean配置信息;   · Bean的类都已经放到应用程序的类路径下。
原文: 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。

 

目录
相关文章
|
3天前
|
SQL Java 数据库连接
(自用)Spring常用配置
(自用)Spring常用配置
12 0
|
2月前
|
缓存 Java Maven
Spring Boot自动配置原理
Spring Boot自动配置原理
46 0
|
2月前
|
Java Spring
[Spring]aop的配置与使用
[Spring]aop的配置与使用
40 0
[Spring]aop的配置与使用
|
2月前
|
安全 Java Maven
后端进阶之路——深入理解Spring Security配置(二)
后端进阶之路——深入理解Spring Security配置(二)
|
25天前
|
SQL Java 数据库连接
挺详细的spring+springmvc+mybatis配置整合|含源代码
挺详细的spring+springmvc+mybatis配置整合|含源代码
33 1
|
3天前
|
JSON Java 数据库连接
属性注入掌握:Spring Boot配置属性的高级技巧与最佳实践
属性注入掌握:Spring Boot配置属性的高级技巧与最佳实践
11 1
|
3天前
|
Java 数据库连接 Spring
简化配置,提高灵活性:Spring中的参数化配置技巧
简化配置,提高灵活性:Spring中的参数化配置技巧
14 0
|
3天前
|
Java Shell 测试技术
一次配置,多场景适用:Spring Boot多套配置文件的深度剖析
一次配置,多场景适用:Spring Boot多套配置文件的深度剖析
15 0
一次配置,多场景适用:Spring Boot多套配置文件的深度剖析
|
7天前
|
Java 容器
SpringBoot使用配置注解开启自动配置功能&整合spring-boot-configuration-processor
SpringBoot使用配置注解开启自动配置功能&整合spring-boot-configuration-processor
11 0
|
25天前
|
Java 数据库连接 Spring
Spring5深入浅出篇:Spring配置⽂件参数化
该文档介绍了Spring配置文件参数化的概念和步骤。目的是将经常需要修改的配置,如数据库连接参数,从主配置文件中分离到一个单独的`.properties`文件,以便于管理和维护。步骤包括创建小型配置文件(如`db.properties`),在`applicationContext.xml`中引入该文件,并使用`${key}`语法在Spring配置文件中引用这些参数。最终通过测试验证配置文件参数化的成功。