금일, 수업을 듣다보니 Spring의 어노테이션의 정리가 필요하다는 것을 새삼 깨달았다.
먼저, 어노테이션은 @를 붙여서 사용한다.
예를 들어, @Autowired 처럼 사용한다고 보면된다.
그렇다면, 어노테이션의 사전적 의미는 무엇일까?
바로, 주석이라는 뜻이다.
어노테이션은 자바에서 코드 사이사이 주석처럼 사용하면서 기능을 수행하는 역할을 하는 기술이다.
많은 종류가 있겠지만,
내가 사용해보고 학습한 내용만 작성해가며 학습한 내용을 복습해보고자 한다.
@Component
: 다양한 어노테이션 @Repository, @Service, @Controller 의 레이블을 구분을 적용
@Controller
: MVC 의 웹 요청을 처리
@Service
: 말그대로 서비스!
@Bean
: 스프링 컨테이너가 관리하는 자바객체로 수동 지정하여 unique 한 메소드명이 지정된다.
@Autowired
: dependency를 정의하기 위한 용도로 getter, setter, method에 사용한다.
@Entity
: 테이블과 링크될 클래스로서 카멜케이스 이름을 언더스코어 네이밍으로 테이블 이름을 매칭한다.
@Id
: 해당 테이블의 PK 필드를 나타냄.
@GeneratedValue
: PK 생성 규칙을 나타냄.
스프링부트 2.0 에서는 GeneratedType.IDENTITY 옵션 추가해서 auto_increment 되기!
@Collum
: 직관적이게 테이블의 컬럼을 나타낸다. 선언없이 클래스의 필드가 모두 컬럼이 된다.