특화된 @Component 어노테이션 (@Controller/@Service/@Repository)
Component 어노테이션을 통해 객체를 생성했을 때는 기본값을 어떻게 설정할 수 있을까?
Value 어노테이션을 사용함
실제 적용해보면 이렇게 출력됨
지난번 코드는 Component 어노테이션으로 객체를 생성하는 것 자체는 문제가 되지 않으나 의미론적으로는 맞지 않음
해당 어노테이션은 MVC 패턴을 통해 웹앱 만들 때 업무형 로직을 가지고 있는 코드들을 나타내는 것임
좀더 의미론적으로 이름을 가진 어노테이션이 존재: Controller Component, Service Component, Repository Component
이에 따라 Component 대신 세 가지의 어노테이션으로 교체해도 정상 작동함
이름으로 역할을 좀 더 부여하여 특화한 것이라고 볼 수 있음
객체가 어떤 것이다라고 명시할 수 있어 좋음
MVC의 기본 구성은 다음과 같음
Controller: 사용자 입출력 담당
Service: 사용자의 요구사항에 맞는 서비스를 제공, 업무, 트랜잭션 단위
Repository: 데이터를 제공해주는 곳, 보통 DAO라고 말함
클래스의 쓰임을 명시해주므로써 쉽게 이해할 수 있음
Model과 Entity(NewlecExam)은 Component로 취급하지 않음
그럼 xml이 계속 필요한 것이냐?
아님, 모든 것들을 xml에서 어노테이션을 쓰도록 바꿀 예정