밤과라임
3k
2020-03-14 10:52:48 작성 2020-03-14 10:58:23 수정됨
2
307

컨트롤러나 서비스에서 생성자 방식으로 다른 서비스 불러오는 것과 @allargsconstructor 사용하는 것의 차이가 있나요?


public class Controller {
    private Service service;

    public Controller(Service service) {
        this.service = service;
    }

    public void callService() {
        service.doSomething();
    }
}

처럼 service의 메소드를 사용하려고 할때 위 처럼 코드한 것과

상단에 

@allargsconstructor

어노테이션을 달고 

private service service;

의 차이가 있나요?

@allargsconstructor 이 필드 객체를 생성자로 만들어 주는것인데

어노테이션 사용한 일이 잘못된 코딩이나 안좋은 코딩습관인지 궁금합니다.


 클래스 내 해당 클래스에서 사용하는 전역변수가 있는경우는 안좋을 수 있다고는 생각들지만

의존성 주입할 것만 있고 사용이 명확한 상황에서도 어노테이션 사용의 부정적인 생각을 들어

질문을 남깁니다. 많은 의견들을 듣고 싶습니다.






0
  • 답변 2

  • LichKing
    16k
    2020-03-14 11:37:12

    차이없습니다.

    롬복에 대해서는 이래저래 말이 있긴한데.. 기본적으로 잘 쓰라고 나온기술이니 잘 사용하면 된다고 생각합니다.

    저도 저런식으로 사용합니다.

  • 밤과라임
    3k
    2020-03-14 22:35:26
  • 로그인을 하시면 답변을 등록할 수 있습니다.