inflearn logo
강의

講義

知識共有

新プログラマーのためのJava Springフレームワーク講座

レッスン4 - DI(Dependency Injection)(2)

@Autowired

409

dhyoun6965

投稿した質問数 12

0

@AUtowired에 대해 묻고 싶은데요 어떻게 사용하는지요.....

spring

回答 2

1

dhyoun6965

좋은 답변 감사합니다!! 혹시 spring 관련해서 좋은 책을 추천해 주실수 있는지요?

0

hyeonsoodavidlee0032

Spring Framework를 사용할 때 JavaConfig를 사용한다면, 아래와 같이 @Configuration 애노테이션으로 태깅된 클래스에, @Bean 애노테이션을 사용해서 스프링 빈을 정의할 것입니다.

@Configuration
public class BeanConfigurationClass {

  @Bean
  public SomeBeanType someBeanName() {
    return new SomeBean();
  }

}
혹은 스프링 빈을 선언할 때, 아래와 같이 클래스에다가 컴포넌트로 선언할 때도 있습니다.
@Component
public class SomeComponentClass {
  // ...
}
그러면 이제, 위에서 선언했던 SomeBeanType, SomeComponentClass 타입의 스프링 빈을 참조해서 사용하고 싶은 컴포넌트가 있을 것입니다. 스프링 프레임워크의 의존성 주입(Dependency Injection)을 이용할 때 @Autowired가 사용됩니다.
@Component
public class 빈을가져다쓰고싶은컴포넌트클래스 {
  
  @Autowired
  private SomeBeanType someBeanType;
  
  @Autowired
  private SomeComponentClass someComponentClass;
  
}
이렇게 하면, 애플리케이션이 실행될 때, 스프링 컨테이너가 @Autowired 애노테이션이 붙은 필드에 빈을 주입해줍니다. 이때 @Autowired는 스프링 컨테이너가 갖고 있는 스프링 빈 목록 중에서 "타입이 같은" 빈을 찾습니다. 예를 들어, 전체 애플리케이션을 통틀어 SomeBeanType, SomeComponentClass가 유일하게 정의되어 있어야 합니다. 만약 중복 정의되면, 어떤 빈을 주입할지 몰라서 에러가 납니다. 만약 같은 타입으로 여러 개의 빈을 선언하려면, 빈 정의 각각에 이름을 붙여주고, @Autowired 할 때 이름을 같이 적어줘야 합니다.

loggerAop 함수의 리턴을 하는이유가 궁금합니다.

0

293

0

처음에는 refresh() 쓰시다가 뒤에 후반가시면 리프레쉬호출 안하시던데 왜그런거죠

0

223

0

지금 보는 강좌가 restapi 에대한건가요

0

227

0

.Class

0

290

0

이미 오래전 강의라서 답변을 해주실지 모르겠지만..

0

257

1

Element type "property" must be followed by either attribute specifications, ">" or "/>". 오류입니다

0

346

0

src 에 압출파일 두개 복사햇는데도 driver 관련 오류나네요 해결 가능하신분..?

0

307

0

dbcp 설정 관련 도와주실분 계신가요 ㅠㅠ

0

259

0

Controller 클래스 에서 return할때 경로지정에 관해서

0

236

0

<form action="<%=conPath%>/student/create">

0

213

0

왜 예외처리를 통하여 프로그래밍 하는지 알 수 있을까요...

0

487

1

왜 object type 함수를 쓰나요?

0

228

0

오라클 설치 하는걸 못찾겠네요

0

311

0

select 구문 binding 질문

0

212

0

Spring의 15강 폼데이터 검증 소스 질문입니다.(3가지)

0

286

0

3강 실행중 오륙 발생했습니다.ㅠㅠㅠ

0

577

2

xml 파일에 name= "이부분"이 빨간줄이 뜨네요.

0

2925

1

Spring Form 데이터 객체 매핑 질문입니다.

0

217

0

ContextPath

0

215

0

21:44초 질문입니다

0

145

0

15강 폼 데이터 값 검증 @Binder 쓰는 부분 에서 500 에러가 납니다.

0

165

0

${id}가 의미하는게 먼가요

0

193

1

HTTP Status 500 - Servlet.init() for servlet appServlet threw exception 에러

0

337

0

Command 사용은 어떻게 되는건가요 ?

0

166

0