과거에는 Java Frameworks가 기본적으로 XML을 구성 파일로 사용했지만 이제 Java Framework는 XML 구성 파일 대신 주석을 기반으로 "Zero Configuration"을 지원합니다. struts2, hibernate 및 spring은 모두 XML 구성 파일 대신 주석을 사용하기 시작했습니다. Spring3.x는 XML 기반 구성, 주석 기반 구성 및 Java 기반 구성의 세 가지 옵션을 제공합니다.
다음은 세 가지 구성 방법입니다. 예를 들어 먼저 Javabean을 정의하십시오.
package com.chinalife.dao public class loginuserdao {... // 초기화 방법을 설정하는 데 사용1. XML 기반 구성
<bean id = "loginuserdao"class = "com.chinalife.dao.impl.loginuserdaoimpl"lazy-init = "true"init-method = "myinit"destroy-method = "myDestroy"scope = "prototype"> ... </bean>
XML 구성에서 Bean은 <ean> </bean>을 통해 정의되며 Bean의 이름은 ID 또는 이름 속성을 통해 정의됩니다. ID 및 이름 속성이 지정되지 않은 경우 Spring은 완전히 자격을 갖춘 클래스 이름을 Bean 이름으로 자동 사용합니다. <property> hild 요소 또는 p 네임 스페이스의 동적 속성을 통해 값을 콩에 주입하십시오. 또한 <ean>의 초기 메모드 및 로토리-메드의 속성을 통해 Bean 구현 클래스의 메소드 이름을 지정하여 생명 프로세스 방법을 설정하기 위해 (최대 하나의 초기화 방법과 파괴 방법을 지정)를 지정할 수도 있습니다. <ean>의 범위를 통해 Bean의 범위를 지정하십시오. <ean>의 게으른 인치 속성에 대해 들었습니다. 초기화를 지연 시킬지 여부가 지정됩니다.
Bean의 구현 클래스가 DataSource, HibernateTemplate 등과 같은 타사 클래스 라이브러리에서 나오면 클래스에서 정보를 주석을 달 수 없으며 XML을 통해서만 구성 할 수 있습니다. AOP, 컨텍스트 등과 같은 네임 스페이스의 구성은 XML 기반 구성 만 사용할 수 있습니다.
2. 주석 기반 구성
@Scope ( "프로토 타입") @lazy (true) @component ( "loginuserdao") public class loginuserdao {... // 초기화 방법 @postconstruct public void myinit () {} // @predestroy public void myDestroy () {}}을 설정하는 데 사용되었습니다.Bean 구현 클래스에서는 일부 주석이 Bean 클래스에 주석을 달 때 사용됩니다.
・ @component : 일반 스프링 빈 등급에 주석을 달고 (콩 이름을 지정할 수 있고, 기본값은 지정되지 않은 경우 소문자로 시작하는 클래스 이름입니다)
・ @controller : 컨트롤러 클래스에 주석을 달 수 있습니다
・ @Service : 비즈니스 로직 클래스에 주석을 달 수 있습니다
・ @repository : DAO 클래스에 주석을 달 수 있습니다
멤버 변수 또는 메소드 매개 변수에서 유형 일치 분사로 @autowired 라벨을 표시하면 @Qualifier를 사용하여 이름별로 주입을 구성 할 수도 있습니다. 초기화 방법 및 파괴 방법은 @PostConstrut 및 Predestroy 주석에 주석을 달아 지정된 파괴 방법 (많은 사람들이 정의 할 수있는 것처럼). @Scope ( "프로토 타입")를 통해 Bean의 동작 범위를 지정하십시오. 클래스 정의에서 @lazy (true) 라벨을 표시하여 Bean의 게으른 하중을 지정하십시오.
Bean의 구현 클래스가 현재 프로젝트에 의해 개발되면 Java 클래스에서 주석 기반 구성을 직접 사용할 수 있으며 구성은 비교적 간단합니다.
3. Java 기반 구성
@configuration public class conf {@scope ( "프로토 타입") @bean ( "loginuserdao") public loginuserdao loginuserdao () {return new loginuserdao (); }}@configuration으로 표시된 Java 클래스에서는 클래스 메소드에 @bean에 주석을 달아 콩을 정의하십시오. 방법은 콩에 대한 인스턴스화 로직을 제공해야합니다. 콩의 이름은 @bean 이름 속성을 통해 정의 할 수 있습니다. 기본 이름은 지정되지 않은 경우 메소드 이름입니다. 이 방법에서 @autowired를 사용하여 메소드를 매개 변수에 바인딩 한 다음 메소드의 코드를 통해 주입하십시오. 주입을 위해 구성 클래스의 @bean 메소드를 호출 할 수도 있습니다. @bean의 initmethod 또는 destroymethod를 통해 초기화 또는 파괴 방법을 지정하십시오. Bean의 동작 범위는 Bean 메소드 정의에 의해 지정됩니다. Bean 메소드 정의에서 @lazy 라벨을 표시하여 Bean의 지연 초기화를 지정하십시오.
콩을 인스턴스화하는 논리가 더 복잡해지면 Java 클래스 구성에 더 적합합니다.
요약
위는이 기사의 모든 내용입니다. 모든 사람에게 도움이되기를 바랍니다. 관심있는 친구는이 사이트의 다른 관련 주제를 계속 참조 할 수 있습니다. 단점이 있으면 메시지를 남겨 두십시오. 이 사이트를 지원해 주신 친구들에게 감사드립니다!