>  기사  >  Java  >  스프링 컨테이너의 빈 초기화에 대한 간략한 토론

스프링 컨테이너의 빈 초기화에 대한 간략한 토론

高洛峰
高洛峰원래의
2017-01-24 15:19:241217검색

스프링 컨테이너에 빈을 추가할 때 범위 속성이 지정되지 않으면 기본값은 싱글톤인 싱글톤입니다.

예를 들어 먼저 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>

를 구성합니다.

그런 다음 스프링 컨테이너를 통해 가져옵니다.

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 및 p1의 입력 내용을 볼 수 있습니다. p2는 동일합니다. 봄의 Bean은 싱글톤입니다.

싱글톤 Bean을 원하지 않으면 범위 속성을 프로토타입으로 변경하면 됩니다

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

이렇게 하면 스프링 컨테이너를 통해 얻은 Bean이 생성되지 않습니다. 하나씩 일어나는 것.

스프링 컨테이너는 기본적으로 시작 후 모든 Bean에 대한 객체를 자동으로 생성합니다. Bean을 가져올 때 객체를 생성하려면lazy-init 속성을 사용할 수 있습니다.

이 속성에는 세 가지가 있습니다. 기본값은 true, false입니다. 기본값은 false와 같습니다. true로 지정하면

는 Bean을 가져올 때만 객체를 생성합니다.

스프링 컨테이너의 Bean 초기화에 대해 간략하게 설명한 위의 기사는 모두 편집자가 공유한 내용이므로 참고가 되기를 바라며, PHP 중국어 웹사이트를 지원해 주시길 바랍니다.

스프링 컨테이너의 Bean 초기화와 관련된 더 많은 기사를 보려면 PHP 중국어 웹사이트를 주목하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.