아래 편집기에서는 봄의 default-lazy-init 매개변수와lazy-init에 대해 간략하게 설명합니다. 에디터가 꽤 좋다고 생각해서 지금 공유해서 참고용으로 올려보겠습니다. 편집기를 따라가서 살펴보겠습니다.
스프링 구성의 루트 노드에 default-lazy-init="true" 구성이 있습니다.
1 . spring의 default-lazy-init 매개변수
이 매개변수는 지연된 로딩을 나타냅니다. 즉, 가 프로젝트를 시작하지 않는 한 프로젝트가 시작될 때 주석이 달린 Bean이 인스턴스화되지 않습니다. 🎜> 사용해야 하며, 프로그램이 실제로 호출에 액세스할 때 인스턴스화되지 않은 객체 가 주입되고 호출됩니다.
스프링이 시작되면 default-lazy-init 매개변수의 기본값은 false이고 초기화spring은 default-lazy-init 속성 을 제공하며 해당 구성 형식은 applicationContext.xml에서 다음과 같습니다.
< beans default-lazy-init ="true" > ....... </beans>실제 개발에서는 default-lazy-init 속성을 true로 설정하면 프로젝트 시작 시간을 크게 줄일 수 있습니다
2. Spring
1.lazy-init
<beans> <bean id="service1" type="bean路径" lazy-init="true"/> <bean id="service2" type="bean路径" lazy-init="false"> <property name="service1" ref="service1"/> </bean> </beans>위의 두 Bean에 대해 하나의lazy-init 속성은 true이고 다른 하나는 false입니다. 차이점은 무엇입니까?IoC 컨테이너가 시작되면 service2가 인스턴스화되지만 service1은 인스턴스화되지 않습니다. 그러나 컨테이너가 service2를 인스턴스화하면 service1도 인스턴스화됩니다. 이유는 service2가 필요하기 때문입니다. 즉,lazy-init="true" 빈의 경우 IoC 컨테이너가 시작될 때 빈이 인스턴스화되지 않습니다. 컨테이너가 이를 사용해야 할 때만 인스턴스화됩니다. Lazy-init은 컨테이너 효율성에 도움이 되며, 불필요한 Bean을 무시할 수 있습니다.
Spring 주석은 @Lazy(false) 주석 태그를 사용하여 클래스 이름에 주석을 달 수 있습니다. 이는 Bean
에서lazy-init 속성을 구성하는 것과 동일합니다. 2. abstract
<bean id="baseTxService" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean" abstract="true"> </bean>bean abstract="true"이면 bean이 인스턴스화되지 않습니다
이는 개발 프로세스 중 시작 시간을 절약하기 위해서만 수행됩니다. 실제 환경에 배포되면 default-lazy-init를 true로 설정할 필요가 없습니다. 결국 실제 환경에 배포하는 것은 흔한 일이 아니므로 1분씩 매번 시작하는 것은 큰 문제가 아니며 서버 효율성을 향상시킬 수 있습니다.
Java 무료 동영상 튜토리얼
2. Geek Academy Java 동영상 튜토리얼
위 내용은 Java 구성의 default-lazy-init='true' 구성을 간략하게 설명하세요.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!