본문 바로가기

개발/Spring

[스프링] @Autowired, @Resource 차이점

두 어노테이션 모두 의존성 주입을 위한 어노테이션이다.

다만 자세히 설명을 하자면,

@Autowired는 스프링전용으로 나온 어노테이션이고, 타입에 맞춰서 의존성을 연결 한다.

반면, @Resource는 자바전용으로 나온 어노테이션이며, 이름에 맞춰서 의존성을 연결 한다.

 

스프링에서는 

컨트롤러 부터 비즈니스 로직을 Controller ,Service, DAO 각각 다른 레이어에서 

의존 관계를 유지하면서 처리하기 때문에 의존성 주입을 어노테이션을 통해서 

편리하고 쉽게 할수 있다.

 

만약 어노테이션이 없이 의존성 주입을 하려면 어떤 방법이 있을까?

 

@Autowired를 빼고 컨트롤러에서 서비스로 return 값에 

return BService.save(abc); 를 요청했을 경우

에러는 뜨지않지만 nullPointerException 데이터가 없는 빈 객체를 보낸다.

 

다른 방법이 무엇이 있는지는 찾아봐야겠다.

'개발 > Spring' 카테고리의 다른 글

[스프링] 스프링의 이해  (0) 2020.06.02