Spring框架簡介

2021-08-22 09:56:27 字數 1727 閱讀 5883

bean的延遲載入

需要宣告一點, 按照之前的例子來講, user預設情況下是在容器初始化的過程中被建立的, 也就是預設並沒有使用延遲載入

所有的bean在預設情況下都是非延遲載入的, 容器建立bean就會被建立, 並且是單例的, 單例後續再講

此時的配置檔案是:

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

如要配置成延遲載入狀態 只需新增lazy-init=true屬性即可

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

如需配置全域性, 還可設定預設為延遲載入

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

bean的作用域

此時涉及到單例(singleton)或者是多例(prototype), 預設情況下是單例的形式

單例的情況下是不管怎麼getbean都只會得到乙個例項, 單例可設定延遲載入或非延遲載入(預設情況), 如圖

測試類:

package com.rl.spring.test;

import org.junit.test;

import com.rl.spring.model.user;

public class testspring

}

輸出:

com.rl.spring.model.user@650e52

com.rl.spring.model.user@650e52

多例的情況是必須"延遲載入", 因為容器不知道要給你建立多少個例項, 所以只能延遲載入, 等到你需要建立該例項的時候再給你建立即可

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

bean的生命週期

生命週期因延遲載入跟非延遲載入而不同 下面進行測試

在user中定義兩個方法 init() 和 destroy()

package com.rl.spring.model;

public class user

public void init()

public void destroy()

public integer getuserid()

public void setuserid(integer userid)

public string getusername()

public void setusername(string username)

}

在配置檔案中設定這兩個方法

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

設定好之後, 執行測試**

package com.rl.spring.test;

import org.junit.test;

import com.rl.spring.model.user;

public class testspring

}

此時當預設非延遲載入建立容器的時候, 例項bean被建立出來, 之後init方法被呼叫, 當容器被關閉(銷毀), 之後呼叫destroy方法

Spring 框架簡介

1997 年 ibm 提出了 ejb 的思想 1998 年,sun 制定開發標準規範 ejb1.0 1999 年,ejb1.1 發布 2001 年,ejb2.0 發布 2003 年,ejb2.1 發布 2006 年,ejb3.0 發布 rod johnson spring 之父 expert one...

Spring 框架簡介

spring 框架簡介 data access integration 資料訪問 整合 資料訪問 整合層包括 jdbc orm oxm jms 和 transactions 模組,具體介紹如下。web模組 spring 的 web 層包括 web servlet struts 和 portlet 元...

Spring框架的簡介和理解

spring首先是個容器 管理bean的容器 生成例項 裝配 銷毀例項等。bean的定義和相互關係可通過xml檔案進行配置。l spring是應用框架 提供完整的mvc框架。很容易與其它的前段技術整合。l spring的核心 ioc,控制反轉,或稱依賴注入 di aop,面向切面的程式設計。l sp...