Spring Bean装配

 2023-09-13 阅读 28 评论 0

摘要:Spring注入 Spring注入是指在启动Spring容器加载bean配置的时候,完成对变量的赋值行为 常用的两种注入方式: 设值注入构造注入Bean配置项及作用域 bean的几种装配方式的基本用法、Bean的配置项 IdClassScopeConstructor argumentsPropertiesAutowiring modelaz

Spring注入

Spring注入是指在启动Spring容器加载bean配置的时候,完成对变量的赋值行为

常用的两种注入方式:

  • 设值注入
  • 构造注入

Bean配置项及作用域

bean的几种装配方式的基本用法、Bean的配置项

  • Id
  • Class
  • Scope
  • Constructor arguments
  • Properties
  • Autowiring mode
  • lazy-initialization mode
  • Initialization/destruction method

Bean的作用域

  • singleton:单例,指一个Bean容器中只存在一份
  • prototype:每次请求(每次使用)创建新的实例,destroy方式不生效
  • request:每次http请求创建一个实例且仅在当前request内有效
  • session:每次http请求创建一个实例且仅在当前session内有效
  • global session:基于portlet的web中有效(portlet定义了global session),如果是在web中,通session

Bean的生命周期

定义

初始化

实现org.springframework.beans.factory.InitializingBean接口,覆盖afterPropertiesSet方法

public class ExampleInitializingBean implements InitializingBean
{public void init(){// do some initialization work}
}

配置init-method

<bean id="exampleInitBean" class="examples.ExampleBean" init-method="init">
public class ExampleBean
{public void init(){// do some initialization work}
}

销毁

实现org.springframework.beans/factory.DisposableBean接口,覆盖destroy方法

public class ExampleDisposableBean implements DisposableBean
{@Overridepublic void destroy(){// do something}
}

配置destroy-method

<bean id="exampleInitBean" class="examples.ExampleBean" destroy-method="cleanup">
public class ExampleBean
{public void cleanup(){// do some destruction work}
}

配置全局默认初始化、销毁方法

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://wwww.springframework.org/schema/beans/spring-beans.xsd"default-init-method="init" default-destroy-method="destroy">
</beans>

Bean的自动装配

  • No:不做任何操作
  • byname:根据属性名自动装配。此选项将检查容器并根据名字查找与属性完全一致的bean,并将其与属性自动装配
  • byType:如果容器中存在一个与指定类型相同的bean,那么将与该属性自动装配;如果存在多个该类型bean,那么抛出异常,并指出不能使用byType方式进行自动配置;如果没有找到相匹配的bean,则什么事都不发生

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/1/51039.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息