Java java지도 시간 Spring Framework 학습(2) 의존성 주입

Spring Framework 학습(2) 의존성 주입

Dec 29, 2016 pm 01:10 PM

스프링 프레임워크는 집합 주입, 생성자 주입, 인터페이스 주입이라는 세 가지 주입 방법을 제공합니다. 인터페이스 주입은 필요하지 않습니다. 처음 두 가지 방법은 아래에 소개되어 있습니다.

1, 세트 주입
속성의 set 메소드를 사용하여 초기화하는데, 이를 세트 주입이라고 합니다.
1) 일반적인 문자 유형에 값을 할당합니다.

public class User{
   privateString username;
 
   publicString getUsername() {
       returnusername;
   }
   publicvoid setUsername(String username) {
      this.username= username;
   }
}
로그인 후 복사

속성의 set 메소드만 제공한 다음 속성 파일로 이동하여 프레임워크가 applicationContext.xml 파일의 beans 태그를 찾을 수 있도록 구성하면 됩니다. 빈 태그에 빈 태그를 추가하세요.
id를 지정하세요. 클래스 값, id 값은 필요하지 않습니다. 클래스 값은 객체가 위치한 전체 경로입니다. Bean 태그에 property
태그를 추가하고 name 값은 User 클래스의 해당 속성 이름과 일치해야 합니다. value 값은 User 클래스의 사용자 이름 속성에 할당하려는 값입니다.

<bean id="userAction"class="com.lsz.spring.action.User" >
	<property name="username" value="admin"></property>
</bean>
로그인 후 복사

2) 객체에 값 할당
객체의 set 메소드도 제공

public class User{
     private UserService userservice;
     public UserServicegetUserservice() {
          returnuser;
     }
     public void setUserservice(UserService userservice){
         this.userservice= userservice;
     }
}
로그인 후 복사

구성 파일에 UserService의 Bean 레이블 선언을 추가하고 UserService에 대한 User 개체의 참조입니다.

<!--对象的声明-->
<bean id="userService" class="com.lsz.spring.service.UserService"></bean>
 
<bean id="userAction"class="com.lsz.spring.action.User" >
   <property name="userservice" ref="userService"></property>
</bean>
로그인 후 복사

이 구성을 사용하면 프레임워크는 UserService 개체를 User 클래스에 삽입합니다.

3) 목록 컬렉션에 값 할당
은 set 메서드도 제공합니다

public class User{
    privateList<String> username;
    publicList<String> getUsername() {
        returnusername;
    }
    publicvoid setUsername(List<String> username) {
        this.username= username;
    }
}
로그인 후 복사
<bean id="userAction"class="com.lsz.spring.action.User" >
     <propertyname="username">
           <list>
               <value>zhang,san</value>
               <value>lisi</value>
               <value>wangwu</value>                                
               </list>
    </property>
</bean>
로그인 후 복사

4) 속성 파일의 필드에 값 할당

public class User{
    privateProperties props ;
    publicProperties getProps() {
        returnprops;
    }
    publicvoid setProps(Properties props) {
        this.props= props;
    }
}
로그인 후 복사
🎜>
<bean>
    <propertyname="props">
        <props>
           <propkey="url">jdbc:oracle:thin:@localhost:orl</prop>
           <propkey="driverName">oracle.jdbc.driver.OracleDriver</prop>
           <propkey="username">scott</prop>
           <propkey="password">tiger</prop>
        </props>
    </property>
</bean>
로그인 후 복사


태그의 키 값은 .properties 속성 파일의 이름입니다.

참고:
어떤 값이 할당되든 이름은 구성 파일에 있는 태그의 속성 값은 다음과 같아야 하며 개체의 이름은 일관되어야 합니다.


2 생성자 주입

1) 생성자에 매개변수가 1개 있는 경우
public class User{
    privateString usercode;
    publicUser(String usercode) {
        this.usercode=usercode;
    }
}
로그인 후 복사
<bean id="userAction"class="com.lsz.spring.action.User">                        
    <constructor-argvalue="admin"></constructor-arg>                        
</bean>
로그인 후 복사


2) 생성자에 매개변수가 2개 있는 경우
매개변수가 없는 경우 문자열 유형을 사용하는 경우 구성 파일에 유형을 지정해야 합니다. 유형을 지정하지 않으면 문자열 유형에 따라 값이 지정됩니다.

매개변수 유형이 일치하지 않는 경우 프레임워크는 문자열 유형에 따라 검색하므로 매개변수의 위치는 구성 파일에서 지정해야 합니다
<constructor-argvalue="admin"index="0"></constructor-arg>                
<constructor-argvalue="23" type="int"index="1"></constructor-arg>
로그인 후 복사

이것은 생성자에서 지정되며, first 첫 번째 매개변수는 string형, 두 번째 매개변수는 int형



위는 Spring Framework 학습 내용(2) 의존성 주입 내용이다. 내용이 궁금하시다면 PHP 중국어 홈페이지(www.php.cn)를 주목해주세요!


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

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Spring Boot 및 Spring AI를 사용하여 생성 인공 지능 애플리케이션 구축 Spring Boot 및 Spring AI를 사용하여 생성 인공 지능 애플리케이션 구축 Apr 28, 2024 am 11:46 AM

업계 리더인 Spring+AI는 강력하고 유연한 API와 고급 기능을 통해 다양한 산업에 선도적인 솔루션을 제공합니다. 이 주제에서는 다양한 분야의 Spring+AI 적용 사례를 살펴보겠습니다. 각 사례에서는 Spring+AI가 어떻게 특정 요구 사항을 충족하고 목표를 달성하며 이러한 LESSONSLEARNED를 더 넓은 범위의 애플리케이션으로 확장하는지 보여줍니다. 이 주제가 여러분이 Spring+AI의 무한한 가능성을 더 깊이 이해하고 활용하는 데 영감을 줄 수 있기를 바랍니다. Spring 프레임워크는 소프트웨어 개발 분야에서 20년 이상의 역사를 가지고 있으며, Spring Boot 1.0 버전이 출시된 지 10년이 되었습니다. 이제 봄이 왔다는 것에 대해 누구도 이의를 제기할 수 없습니다.

스프링 게이트웨이에서 RequestBody 수정 스프링 게이트웨이에서 RequestBody 수정 Feb 09, 2024 pm 07:15 PM

요청 본문을 지정된 URI로 라우팅하기 전에 수정하고 싶습니다. org.springframework.cloud.gateway.filter.factory.rewrite.modifyrequestbodygatewayfilterfactory를 사용하는 문서를 기반으로 본문을 수정합니다. 서버를 시작할 때 다음 오류 이유로 인해 서버가 시작되지 않습니다. 요소 [spring.cloud.gateway.routes[0].filters[0].modifyrequestbody.class]가 바인딩되지 않았습니다. \n\n작업:\

Angular의 종속성 주입을 이해하기 위한 단계별 가이드 Angular의 종속성 주입을 이해하기 위한 단계별 가이드 Dec 02, 2022 pm 09:14 PM

이 글은 여러분에게 의존성 주입을 소개하고, 의존성 주입이 해결하는 문제와 그 기본 작성 방법을 소개하고, Angular의 의존성 주입 프레임워크에 대해 이야기할 것입니다. 여러분에게 도움이 되기를 바랍니다.

Phalcon 프레임워크에서 종속성 주입(Dependency Injection)을 사용하는 방법 Phalcon 프레임워크에서 종속성 주입(Dependency Injection)을 사용하는 방법 Jul 30, 2023 pm 09:03 PM

Phalcon 프레임워크에서 종속성 주입(DependencyInjection)을 사용하는 방법 소개: 현대 소프트웨어 개발에서 종속성 주입(DependencyInjection)은 코드의 유지 관리성과 테스트 가능성을 향상시키는 것을 목표로 하는 일반적인 디자인 패턴입니다. 빠르고 저렴한 PHP 프레임워크인 Phalcon 프레임워크는 종속성 주입을 사용하여 애플리케이션 종속성을 관리하고 구성하는 기능도 지원합니다. 이 글에서는 Phalcon 프레임워크를 사용하는 방법을 소개합니다.

JAX-RS 대 Spring MVC: RESTful 거대 기업 간의 전투 JAX-RS 대 Spring MVC: RESTful 거대 기업 간의 전투 Feb 29, 2024 pm 05:16 PM

소개 RESTful API는 현대 웹 애플리케이션의 필수적인 부분이 되었습니다. 이는 웹 서비스 생성 및 사용에 대한 표준화된 접근 방식을 제공하여 이식성, 확장성 및 사용 용이성을 향상시킵니다. Java 생태계에서 JAX-RS와 springmvc는 RESTful API 구축을 위한 가장 널리 사용되는 두 가지 프레임워크입니다. 이 기사에서는 두 프레임워크를 자세히 살펴보고 해당 기능, 장점 및 단점을 비교하여 정보에 입각한 결정을 내리는 데 도움을 줄 것입니다. JAX-RS: JAX-RSAPI JAX-RS(RESTful 웹 서비스용 JavaAPI)는 REST 개발을 위해 JavaEE에서 개발한 표준 JAX-RSAPI입니다.

Java JNDI와 Spring 통합의 비밀: Java JNDI와 Spring Framework의 원활한 협력 공개 Java JNDI와 Spring 통합의 비밀: Java JNDI와 Spring Framework의 원활한 협력 공개 Feb 25, 2024 pm 01:10 PM

JavaJNDI를 spring과 통합할 때의 이점 JavaJNDI를 Spring 프레임워크와 통합하면 다음과 같은 많은 이점이 있습니다. JNDI 사용 단순화: Spring은 복잡한 JNDI 코드를 작성하지 않고도 JNDI 사용을 단순화하는 추상화 계층을 제공합니다. JNDI 리소스의 중앙 집중식 관리: Spring은 쉬운 검색 및 관리를 위해 JNDI 리소스를 중앙에서 관리할 수 있습니다. 다중 JNDI 구현 지원: Spring은 JNDI, JNP, RMI 등을 포함한 다중 JNDI 구현을 지원합니다. Spring 프레임워크를 원활하게 통합: Spring은 JNDI와 매우 긴밀하게 통합되며 Spring 프레임워크와 원활하게 통합됩니다. JavaJNDI를 Spring 프레임워크와 통합하여 Ja를 통합하는 방법

Golang 함수 매개변수 전달 시 종속성 주입 패턴 Golang 함수 매개변수 전달 시 종속성 주입 패턴 Apr 14, 2024 am 10:15 AM

Go에서 DI(종속성 주입) 모드는 값 전달 및 포인터 전달을 포함한 함수 매개변수 전달을 통해 구현됩니다. DI 패턴에서 종속성은 일반적으로 디커플링을 개선하고 잠금 경합을 줄이며 테스트 가능성을 지원하기 위해 포인터로 전달됩니다. 포인터를 사용하면 함수는 인터페이스 유형에만 의존하기 때문에 구체적인 구현에서 분리됩니다. 또한 포인터 전달은 큰 개체 전달에 따른 오버헤드를 줄여 잠금 경합을 줄입니다. 또한 DI 패턴을 사용하면 종속성을 쉽게 모의할 수 있으므로 DI 패턴을 사용하는 함수에 대한 단위 테스트를 쉽게 작성할 수 있습니다.

프로그램 로깅 최적화: log4j 로그 수준 설정에 대한 팁 공유 프로그램 로깅 최적화: log4j 로그 수준 설정에 대한 팁 공유 Feb 20, 2024 pm 02:27 PM

프로그램 로깅 최적화: log4j 로그 수준 설정에 대한 팁 요약: 프로그램 로깅은 문제 해결, 성능 조정 및 시스템 모니터링에서 중요한 역할을 합니다. 이 기사에서는 다양한 로그 수준을 설정하는 방법과 코드 예제를 통해 설정 프로세스를 설명하는 방법을 포함하여 log4j 로그 수준 설정에 대한 팁을 공유합니다. 소개: 소프트웨어 개발에서 로깅은 매우 중요한 작업입니다. 프로그램 실행 과정에서 주요 정보를 기록함으로써 개발자가 문제의 원인을 찾아 성능 최적화 및 시스템 모니터링을 수행하는 데 도움이 될 수 있습니다.

See all articles