스프링 용기에서 bean의 초기화에 대해 간단히 말하다

2273 단어 spring초기화bean
스프링 용기에 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; 
 } 
  
} 
애플리케이션 컨텍스트에서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과 p2가 입력한 내용이 같다는 것을 알 수 있으며,spring의 bean은 단례라는 것을 설명한다.
예를 들어 bean을 원하지 않으면,scope의 속성을prototype으로 바꿀 수 있습니다

<bean id="people" class="People" scope="prototype" ></bean>
이렇게 스프링 용기를 통해 얻은 bean은 단례가 아니다.
스프링 용기는 기본적으로 시작 후 모든 bean에 자동으로 대상을 만듭니다. 우리가 bean을 가져올 때 만들려면lazy-init 속성을 사용하십시오
이 속성은 세 개의 값 defalut,true,false가 있습니다.기본값은 default입니다. 이 값은false와 마찬가지로spring 용기가 시작될 때 bean 대상을 만듭니다.true로 지정될 때
우리가 bean을 가져올 때 대상을 만듭니다.
이상의 스프링 용기에서 bean의 초기화는 바로 편집자가 여러분에게 공유한 모든 내용입니다. 참고 부탁드리고 저희도 많이 사랑해 주세요.

좋은 웹페이지 즐겨찾기