보통 인텔리제이로 작업하다보면 서비스나 컨트롤러에 Autowired를 필수적으로 사용한다.
프로젝트의 주된 주입 방식은 Field Injection 방식으로 이루어져 있다
하지만 우리는 무시하고 있지만, 인텔리제이에서는 경고를 띄우고 있다

편하게 사용하고 있었지만 “권장”되지 않는 방법을 쓰고 있는 셈이다
다른 방법은 무엇이 있을까?
Setter Injection
Constructor Injection
간단하게 생성자와 세터 방법이 있다
@Component
public class BaseComponent {
private final BeanInjected bean;
@Autowired // 생략가능
public BeanInjected(BeanInjected bean) {
this.bean = bean;
}
...
}
@Component
public class BaseComponent {
private BeanInjected bean;
@Autowired
void setBean(BeanInjected bean) {
this.bean = bean;
}
...
}
이 중에 생성자보다 세터 방식을 이용한 결과 노란 경고줄을 없앨 수 있다.

'Dev Back > JAVA' 카테고리의 다른 글
| [JAVA] Aes 암복호화 소스코드 (0) | 2024.10.25 |
|---|---|
| [adoc] 한글이 깨지는 이슈 (1) | 2024.07.03 |
| [JAVA] 접근 제어자의 종류와 사용법 (0) | 2024.06.26 |
| [JAVA] AES256 암/복호화 (0) | 2024.06.14 |
| [JAVA] @Valid (0) | 2024.06.11 |