Spring容器Bean的例項化方式和宣告週期

2021-08-26 17:26:43 字數 1575 閱讀 6176

spring容器中,bean的例項化方式還是有三種的。第一種就是最普通的直接構造,第二種和第三種分別是使用工廠

生產模式來例項化bean。下面來仔細說一下。

首先建立工廠類

package com.bird.service.impl;

public class personserverbeanfactory

public personserverimpl creatpersonserverimpl2()

}

分為兩種,靜態的和非靜態的方法.然後構建bean.xml

<?xml version="1.0" encoding="utf-8"?>

分別指定生產方式的生產函式就可以了,但是一般情況下還是是使用第一種方式最為常規.

下面說一下spring構建的類的宣告週期,一般來說,預設情況下是使用單例構造模式生成的,也就是說,兩次請求

spring容器同乙個配置檔案得到的類的例項是乙個。但是如果想改變這種情況,也就是說每次獲得的類的例項是不同

的例項,可以在bean.xml 檔案中做如下配置.使用scope這個值.而且還有宣告週期問題,如果希望spring 容器在例項

化類的時候執行什麼函式,然後在類將要被摧毀之前執行什麼函式,也只需要在bean.xml 檔案中進行配置就可以了,

具體配置如下.

<?xml version="1.0" encoding="utf-8"?>

測試函式如下

package junit.test;

import org.junit.test;

import com.bird.service.personserver;

public class springtest

@test

public void test2()

}

執行效果如下

2012-2-24 21:10:31 org.springframework.beans.factory.xml.xmlbeandefinitionreader loadbeandefinitions

資訊: loading xml bean definitions from class path resource [beans.xml]

2012-2-24 21:10:32 org.springframework.beans.factory.support.defaultlistablebeanfactory preinstantiatesingletons

資訊: pre-instantiating singletons in org.springframework.beans.factory.support.defaultlistablebeanfactory@15e9756: defining beans [personservice]; root of factory hierarchy

初始化方法

true

我被銷毀了

Spring容器Bean的例項化方式和宣告週期

spring容器中,bean的例項化方式還是有三種的。第一種就是最普通的直接構造,第二種和第三種分別是使用工廠 生產模式來例項化bean。下面來仔細說一下。首先建立工廠類 package com.bird.service.impl public class personserverbeanfacto...

詳細例項,解讀spring容器中bean的生命週期

下面新增此次測試demo的工程樣例截圖 下面為完整的測試檔案 1 beanlifecycle package springioc import org.springframework.beans.bean ception import org.springframework.beans.factor...

spring容器的bean什麼時候被例項化

spring什麼時候例項化bean,首先要分2種情況 第一 如果你使用beanfactory作為spring bean的工廠類,則所有的bean都是在第一次使用該bean的時候例項化 2 如果bean的scope是singleton的,並且lazy init為true,則該bean的例項化是在第一次...