본문 바로가기

spring

(Spring Boot Bean) 사용자 클래스 Bean 객체 등록 / 설정 간단하게 하기!


사용자 클래스의 Spring Bean 등록/설정

먼저 사용자 클래스를 Spring Bean 으로 등록하는 쉬운 방법은 클래스 선언부 위에  @Component  어노테이션을 사용하는 것 입니다.

@Component  어노테이션이 붙은 클래스는 Spring Bean 객체로 등록이 되어 객체 생성/삭제를 Spring에서 관리하게 되겠죠?

Spring Boot로 서비스를 구현 하는 중에, 제가 구현한 Class를 Bean객체로 사용하고싶었지만

해당 Class의 field 1을 Autowired로 가지고, field 2를 Instance화 하는데에 또 다른 Bean Class의 Instance 객체가 필요한 특수한 상황이라 쉽지 않았습니다.

구글링을 통해 Config Class를 사용하는 예제를 보고 이것저것 해보았지만 제대로 동작하지 않았었는데
간단하게 설정하는 방법을 소개 해드립니다!  글로 어떤 상황인지 이해가 잘 안 되셨을테니 바로 코드를 보겠습니다.


@Component
public class MyClass {

// @Autowired 필요
private Fclass1 fclass1;

// Constructor가 parameter로 인스턴스화된 Bean 객체( ParamClass paramClass )를 받아야함

// (ParamClass는 이미 Bean으로 등록되어있음)
private Fclass2 fclass2;

@Autowired
public MyClass(Fclass1 fclass1, ParamClass paramClass) {
this.fclass1 = fclass1;
this.fclass2 = new Fclass2(paramClass);
}

// Methods ....
}


먼저 Bean으로 등록하고 싶은 Class에 @Component Annotation을 추가하고,

해당 Class의 Field나 Constructor 에서 Instance화된 Bean 객체가 필요하다면
Constructor에 @Autowired Annotation을 추가한 후  parameter에 필요한 Class의 객체를 받도록 정의해주시면 됩니다.

설정이 끝나면 Bean 객체로 등록되어 다른 Class 에서 @Autowired를 사용한 Field 등 으로 사용할 수 있게됩니다!



이상으로 포스팅을 마칩니다.
다음에 더 좋은 내용으로 만나요~
By RyanKim (Overnodes Devloper)