美文网首页
spring bean定义xml元素汇总

spring bean定义xml元素汇总

作者: xzz4632 | 来源:发表于2019-06-21 11:06 被阅读0次
1. <beans>

<beans>是spring xml配置的顶层元素.
其拥有的属性有:

属性 说明
profile 定义profile环境
default-lazy-init 是否延迟加载bean
default-merge 是否继承外部的bean定义.默认false
default-autowire 默认的自动装配方式
default-autowire-candidates 定义默认的自动装配的bean名称
default-init-method 默认的初始化方法
default-destroy-method 默认的bean的销毁方法
2. <bean/>

<bean/>用于声明bean.
其属性有:

属性 说明
id bean的id
name bean的名称
class bean的类型
init-method bean的初始化回调方法
destroy-method bean的销毁回调方法
scope bean作用域
autowire 自动装配方式
autowire-candidate 自动装配bean名称
factory-bean 工厂bean名称
factory-method 工厂方法名称
abstract 是否是抽象的bean
parent 指定父bean
primary 在装配时的首选对象
depends-on bean依赖(间接依赖)
lazy-init 延迟加载
3. <bean/>元素的子元素

3.1. <property/>: 定义bean的属性值.

属性 说明
name 属性名
value 属性值(定义基本类型)
ref 引用一个bean

3.2. <constructor-arg/>: 定义bean的构造函数参数值.

属性 说明
name 构造函数参数名称
type 构造函数参数类型
index 构造函数参数位置(从0开始)
value 构造函数参数值
ref bean(构造函数参数值)

3.3.<lookup-method/>: 查找方法

属性 说明
name 查找方法名称
bean 查找方法返回的bean, 通常是一个prototype类型的bean

3.4.<replaced-method/>: 方法替换

属性 说明
name 被替换的方法名称
replacer 替换方法所在的bean, 这个bean要实现MethodReplacer接口.

子元素:
<arg-type/>: 定义替换方法的参数类型

属性 说明
match 参数类型

3.5.<qualifier/>元素
相当于@Qualifier注解.

属性 说明
type @Qualifier类型, 自定义了相应类型时使用, 默认为spring的@Qualifier
value bean名称

子元素:
<attribute/>: 定义@Qualifer的属性值.

属性 说明
key 属性名
value 属性值
4. <alias/>

给bean定义别名

属性 说明
name bean的名称
alias 给bean定义的别名
5. <import/>

引入其它的xml文件.

属性 说明
resource 文件路径
6. <context:annotation-config/>

激活spring在bean类中应用的各种注解:

  • @Required
  • @Autowired
  • @PostConstruct
  • @PreDestroy
  • @Resource
  • @WebServiceRef
  • @EJB
  • @PersistenceContext
  • @PersistenceUnit
7. <context:component-scan/>

开启注解扫描,扫描指定路径下带有相关注解的类并自动注册为bean.

  • @Component
  • @Controller
  • @RestController
  • @Service
  • @Repository
  • @ControllerAdvice
  • @Configuration
  • 默认开启了<context:annotation-config/>配置.
属性 说明
base-package 包扫描路径, 可用${}占位符
annotaion-config 默认为true, 开启<context:annotation-config/>配置
name-generator 定义的BeanNameGenerator的全限定类名
resource-pattern 匹配的组件类定义, 默认**/*.class, 建议使用include-filterexclude-filter元素
scope-resolver 用于解析作用域的ScopeMetadataResolver类型的全限定类名
scoped-proxy 是否生成代理组件
use-default-filters 是否自动发现以上注解所注释的组件, 默认为true

子元素:
7.1 <context:exclude-filter/>
对符合条件的组件排除不进行组件扫描.

属性 说明
type 定义筛选类型
annotation:组件上的注解
assignable:
aspectj:
regex:
custom:
expression 对应的表达式

7.2 <context:include-filter/>
对符合条件的组件进行组件扫描.
属性定义同上

8. <context:property-override/>

通过配置文件定义覆盖bean的属性值, 在properties文件中通过beanName.property=value的格式.如果定义的bean不存在会抛出异常.

属性 说明
file-encoding 解析文件的编码, 默认为none, 使用java.util.Properties编码
ignore-resource-not-found 默认为false, 当没有找到bean时是否忽略
ignore-unresolvable 忽略文件中无法解析的key
local-override 是否不覆盖属性的默认值, 默认为false, 即文件中定义的值会覆盖属性的默认值
location 文件所在路径, 多个用逗号分隔
order 文件优先级顺序
properties-ref 用于定义替换的Properties对象的bean名称
9. <context:property-placeholder/>

加载容器中定义的${}占位符所在的properties文件或Properties对象.
具有`<context:property-override/>所有的属性.此外还有以下属性:

属性 说明
value-separator 占位符变量和关联的默认值之间的分隔符, 默认值为:符号。

相关文章

网友评论

      本文标题:spring bean定义xml元素汇总

      本文链接:https://www.haomeiwen.com/subject/kshsqctx.html