스프링 컨테이너에 빈을 추가할 때 범위 속성이 지정되지 않으면 기본값은 싱글톤인 싱글톤입니다.
예를 들어 먼저 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 중국어 웹사이트를 주목하세요!