程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 淺談spring容器中bean的初始化

淺談spring容器中bean的初始化

編輯:關於JAVA

淺談spring容器中bean的初始化。本站提示廣大學習愛好者:(淺談spring容器中bean的初始化)文章只能為提供參考,不一定能成為您想要的結果。以下是淺談spring容器中bean的初始化正文


當我們在spring容器中添加一個bean時,假如沒有指明它的scope屬性,則默許是singleton,也就是單例的。

例如先聲明一個bean:

public class People { 
 private String name; 
 private String sex; 
 public String getName() { 
  return name; 
 } 
 public void setName(String name) { 
  this.name = name; 
 } 
 public String getSex() { 
  return sex; 
 } 
 public void setSex(String sex) { 
  this.sex = sex; 
 } 
  
} 

在applicationContext.xml文件中設置裝備擺設

<?xml version="1.0" encoding="UTF-8"?>
<beans
 xmlns="http://www.springframework.org/schema/beans"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xmlns:p="http://www.springframework.org/schema/p"
 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.1.xsd">
 
 <bean id="people" class="People" ></bean>

</beans>

然後經由過程spring容器來獲得它:

import org.springframework.context.ApplicationContext; 
import org.springframework.context.support.ClassPathXmlApplicationContext; 
 
 
public class SpringTest { 
 
 public static void main(String[] args) { 
  ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml"); 
  People p1=(People) context.getBean("people"); 
  People p2=(People) context.getBean("people"); 
  System.out.println(p1); 
  System.out.println(p2); 
 } 
 
} 

運轉以後可以看出p1和p2輸出的內容是一樣的,解釋spring中的bean是單例的。

假如不想要單例的bean,可以將scope的屬性改成prototype

<bean id="people" class="People" scope="prototype" ></bean>

如許經由過程spring容器獲得的bean就不是單例的了。

spring容器默許情形下在啟動以後就主動為一切bean創立對象,若想要在我們獲得bean時才創立的話,可使用lazy-init屬性

該屬性有三個值defalut,true,false。默許是default,該值和false一樣,都是spring容器啟動時就創立bean對象,當指定為true時,

在我們獲得bean時才創立對象。

以上這篇淺談spring容器中bean的初始化就是小編分享給年夜家的全體內容了,願望能給年夜家一個參考,也願望年夜家多多支撐。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved