(이것은 개인적으로 공부하기 위해 적어두는 어노테이션 기능들이다)
여기서 어노테이션들은 크게 세 가지로 분류해서 설명한다.
- Lombok 관련 어노테이션
- Spring 관련 어노테이션
- 테스트 관련 어노테이션
우선 Lombok 관련 어노테이션에는 @Setter, @Data가 있다.
Lombok에 대한 설명과 설치법은 https://withthemilkyway.tistory.com/15 이 곳에서 확인할 수 있다.
@Setter 어노테이션은 setter 메서드를 만들어주는 역할을 한다.
말 그대로 setter 메소드를 생성해 주는 것이다. @Setter에는 onMethod라는 속성을 부여해줄 수 있는데,
onMethod는 setter 메서드의 생성 시 메서드에 추가할 어노테이션을 지정한다.
@Data는 Lombok에서 가장 자주 사용되는 어노테이션이다.
@ToString, @EqualsAndHashCode, @Getter/@Setter, @RequiredArgsConstructor를 모두 결합한 형태로
한 번에 자주 사용되는 모든 메서드들을 생성할 수 있다.
다음은 Spring 관련 어노테이션이다.
Spring 관련 어노테이션에는 @Autowired와 @Component가 있다.
@Autowired는 스프링 내부에서 자신이 특정한 객체에 의존적이므로 자신에게 해당 타입의 빈을 주입하라는 표시이다.
스프링은 @Autowired 어노테이션을 보고 스프링 내부에 빈(bean) 중에서 적당한 빈이 있는지 확인 후 자동으로 주입을 해준다.
만약, 필요한 객체가 존재하지 않는다면 제대로 객체를 구성할 수 없기 때문에 에러가 발생한다.
@Component는 해당 클래스가 스프링에서 객체로 만들어서 관리하는 대상(bean) 임을 명시하는 어노테이션이다.
마지막으로 테스트 관련 어노테이션은 @ContextConfiguration, @RunWith, @Test가 있다.
테스트 관련해서 가장 중요한 어노테이션은 @ContextConfiguration이다.
@ContextConfiguration은 스프링이 실행되면서 어떤 설정 정보를 읽어 들여야 하는지를 명시한다.
속성으로는 locations를 이용해서 문자열의 배열로 XML 설정 파일을 명시할 수도 있고,
classes 속성으로 @Configuration이 적용된 클래스를 지정해 줄 수도 있다.
@RunWith는 테스트 시 필요한 클래스를 지정한다. 스프링은 SpringJUnit4ClassRunner 클래스가 대상이 된다.
@Test는 junit에서 해당 메서드가 jUnit 상에서 단위 테스트의 대상인지 알려준다.
'Study > Spring' 카테고리의 다른 글
[Spring] MyBatis와 스프링 연동하기 (1) | 2020.07.07 |
---|---|
[Spring] 스프링과 mysql 연동하기 (1) | 2020.07.05 |
[Spring] Lombok 라이브러리 설치 방법 정리 (1) | 2020.07.03 |
[Spring] 스프링 Java 설정 정리 (6) | 2020.07.03 |
[Spring] 스프링 프로젝트 초기 설정하기 (5) | 2020.07.02 |