어노테이션 정리(@, Annotation)
한국말로 뜻자체는 “주석”이라고 나옵니다. 하지만 코딩할 때 java에서는 설명 그 이상의 역할을 합니다. 어노테이션이 붙은 코드는 어노테이션의 구현된 정보에 따라 연결되는 방향이 결정됩니다. 전체 소스코드에서 비즈니스 로직에는 영향을 주지는 않지만 해당 타겟의 연결 방법이나 소스코드의 구조를 변경할 수 있습니다. 쉽게 말해서 “이 속성을 어떤 용도로 사용할까, 이 클래스에서 어떤 역할을 줄까?”를 결정해서 붙여준다고 볼 수 있습니다. 자주 사용하는 어노테이션에 대해서 간단하게 정리하겠습니다.
@Autowired
: 의존 자동 주입, 스프링이 알아서 의존 객체를 찾아서 주입해줍니다. 설정 파일에 의존 객체를 명시하지 않아도 스프링이 필요한 의존 빈 객체를 찾아서 주입해줍니다.- 자동 주입 대상에
@Autowired
사용 - XML설정에 <context:annotation-config /> 설정 추가
- 자동 주입 대상에
@Controller
: 핸들러가 스캔할 수 있는 빈(Bean) 객체가 되어 서블릿용 컨테이너에 생성됩니다. 해당 클래스를 웹 요청을 처리하는 컨트롤러로 사용합니다.@Service
: 서비스가 적용 된 Class는 비즈니스 로직이 들어가는 Service로 등록이 됩니다. Conrooler에 있는 @Autowired는@Service('exampleservice')
에 등록된 exampleservice와 변수명이 같아야 하며 Service에 있는@Autowired
는@Repository('exampleDao')
에 등록된 exampleDao와 변수명이 같아야 합니다.@RequestMapping
: 요청에 대해 어떤 Controller, 어떤 메소드가 처리할지를 맵핑하기 위한 어노테이션@PostMapping
,@GetMapping
: 두 어노테이션은@RequestMapping(value="", method=RequestMethod.GET)
or@RequestMapping(value="", method=RequestMethod.POST)
을 대신하는 코드입니다. get,post메소드에 대해서만 응답을 하는지 확인하는 코드입니다.@Mapper
: 매핑파일에 기재된 SQL을 호출하기 위한 인터페이스입니다.