웹개발/SpringBoot
[Java Spring] 의존성 주입 방법
뎁쭌
2023. 11. 21. 22:24
728x90
반응형
Spring 의존성 주입 방법 3가지
- 생성자 기반 (Bean)
@Autowired 생성자 기반은 해당 어노테이션이 의무가 아니다.
Spring 팀은 하나의 메서드에서 모든 초기화가 진행되는 생성자 주입을 항상 추천한다.!
@Component
class myClass{
Dependency1 dependency1;
Dependency2 dependency2;
// @Autowired 생성자 기반은 해당 어노테이션이 의무가 아니다.
public myClass(Dependency1 dependency1, Dependency2 dependency2) {
this.dependency1 = dependency1;
this.dependency2 = dependency2;
}
public String to_String(){
return "Using " + dependency1 + "and" + dependency2;
}
}
@Component
class Dependency1{
}
@Component
class Dependency2{
}
- 수정자 기반 (Setter)
class myClass{
Dependency1 dependency1;
Dependency2 dependency2;
@Autowired
public void setDependency1(Dependency1 dependency1) {
this.dependency1 = dependency1;
}
@Autowired
public void setDependency2(Dependency2 dependency2) {
this.dependency2 = dependency2;
}
public String to_String(){
return "Using " + dependency1 + "and" + dependency2;
}
}
@Component
class Dependency1{
}
@Component
class Dependency2{
}
- 필드 기반 (리플렉션을 이용)
@Component
class myClass{
@Autowired
Dependency1 dependency1;
@Autowired
Dependency2 dependency2;
public String to_String(){
return "Using " + dependency1 + "and" + dependency2;
}
}
@Component
class Dependency1{
}
@Component
class Dependency2{
}
@Autowired를 통해 의존성을 주입해줘야함