어노테이션과 어노테이션의 종류

2023. 3. 21. 19:07· Spring
목차
  1. 종류

종류

@Controller

: 컨트롤러임을 명시하는 어노테이션

 

@GetMapping("URL")

: 해당 메서드가 호출할 URL을 지정한다.

 

@Getter 와 Setter

: 말그대로 게터세터를 자동으로 만들어주는 어노테이션이다
예를 들어 xxx라는 필드에 선언한다면 getter인 getXxx(), Setter인 setXxx()를 만들어 주는것이다

 

@NoArgsConstructor

: 파라미터가 없는 기본 생성자를 만들어준다

 

@AllArgsConstructor

: 모든 필드값을 파라미터로 받는 생성자를 만들어준다

 

@RequiredArgsConstructor

: final 혹인 @NonNull인 필드의 값을 파라미터로 받는 생성자를 만들어준다.

 

@ToString

: 따로 메서드작성이 필요없이 알아서 자동 생성해준다

※ 번외편으로 exclude = "원하는 필드" 를 작성하면 해당 필드는 제외된다.

 

@EqualsAndHashCode

: 자바 빈을 만들때 자주 오버라이딩 되는 equals와 hashCode메서드를 자동 생성

※ 번외 = "callSuper = boolean값" 을 따로 입력하면 그들의 부모 클래스 필드값까지 체크한다
true가 체크, false가 체크하지 않는다( 즉, 본인의 필드만 고려 )

 

@Data

: Getter, Setter, ToString, EqualsAndHashCode,RequiredArgsConstructor를 합쳐놓은 어노테이션이다

 

@Respondebody

: 서버에서 클라이언트로 통신하는 메세지를 응답(response)메세지라고한다 서버에 서 클라이언트로 응답을 보낼때에도 본문에 데이터를 담아서 보내야한다. 이 본문이 바로 Body이다

그렇다면 이것을 합친 Responsebody는 응답본문을 담아내는 것이다

 

@Configuration

: 설정파일을 만들기 위한 어노테이면 or Bean등록을 위한 어노테이션이다

 

@EnableWebSecurity

: 웹 보안을 활성화한다. 하지만 이 자체로 할수있는 것은 아니다

1. spring security가 WebSecurityConfugurer을 구현

2. Context의 WebSebSecurityConfigurerAdapter를 확장한 빈으로 설정되어 있어야 한다.

주로 사람들은 2번을 많이 사용했었다. 하지만 재밌는것은 이제 더이상 사용하지 않는다는 것이다

그렇다면 어떻게 해야할까? 그것은 나중에 따로 자세히 다루도록 하겠다

 

@Mapper 

: "마커 인터페이스"라는 뜻이다

마커 인터페이스 = 기능이 있는것이 아닌 그저 무언가를 표시하기 위한 인터페이스를 뜻한다.

 

 

'Spring' 카테고리의 다른 글

Spring Security - Exception  (0) 2023.03.22
인증(Authentication) 과 인가(Authorization)  (0) 2023.03.22
DAO 와 DTO(VO) 는 뭘까?  (0) 2023.03.22
websecurityconfigureradapter가 deprecated되었다  (0) 2023.03.21
템플릿 엔진 ( Mustache 와 JSP 그리고 Thymeleaf)  (2) 2023.03.21
  1. 종류
'Spring' 카테고리의 다른 글
  • 인증(Authentication) 과 인가(Authorization)
  • DAO 와 DTO(VO) 는 뭘까?
  • websecurityconfigureradapter가 deprecated되었다
  • 템플릿 엔진 ( Mustache 와 JSP 그리고 Thymeleaf)
늦은산책
늦은산책
늦은산책
중얼중얼블로그
늦은산책
전체
오늘
어제
  • 분류 전체보기
    • 오류 모음집
    • CS
      • 💾 자료구조
      • 👫🏼 정렬
      • 🖥 네트워크
      • 💻 운영체제
      • 💾 DB
      • 🌌 알고리즘
      • 📝 언어
    • 테스트
    • Git 초보에게 필요한 Git bash사용법
    • 프로젝트
      • 팀 프로젝트
      • 개인 프로젝트
      • 항해99 개인 프로젝트
      • 스위프 프로젝트(Lit Map)
    • Java
      • 객체 지향
    • Spring
      • 🌲 Spring
      • 👨‍💻 SpringSecurity
      • 🌵 JPA
    • MSA
      • MSA 강좌 - 이도원 강사님
    • Docker(도커)
    • 코딩테스트
      • 🧮 프로그래머스
      • 🎲 백준
    • 항해99
      • 🕛 1주차
      • 🕐 2주차
      • 🕑 3주차
      • 🕒 4주차
    • AWS
    • CI와CD

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 취업리부트코스
  • 개발자포트폴리오
  • 카우치코딩
  • 개발자취준
  • 취리코
  • 개발자포토폴리오
  • 카우치코딩_팀프로젝트
  • 항해99
  • 개발자취업
  • couchcoding
  • 코딩테스트
  • 카우치코딩_포트폴리오_멘토링
  • 개발자이력서

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.0
늦은산책
어노테이션과 어노테이션의 종류
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.