"스프링 어노테이션"의 두 판 사이의 차이

 
(사용자 2명의 중간 판 49개는 보이지 않습니다)
1번째 줄: 1번째 줄:
;java annotation
==개요==
;자바 애노테이션
;Spring annotation
;스프링 애노테이션
;스프링 애노테이션


==목록==
{| class='wikitable'
{| class='wikitable'
! 소속패키지 !! 애노테이션
! 소속패키지 !! 애노테이션명 !! 설명
|-
|-
|  || [[@Deprecated]]
|  || [[@Deprecated]] ||
|-
|-
| || [[@Retention]]
| || [[@Mapping]] ||
|-
|-
| || [[@Target]]
| [[com.fasterxml.jackson.annotation]] || [[@JsonIgnore]] || JSON형식 출력시에는 제외시킴
|-
|-
| java.lang || [[@Override]]
|rowspan='2'| [[java.lang]] || [[@Override]] ||
|-
|-
| java.lang || [[@SuppressWarnings]]
| [[@SuppressWarnings]] ||
|-
|-
| javax.persistence || [[@Column]]
|rowspan='3'| [[java.lang.annotation]]
| [[@Documented]] ||
|-
|-
| javax.persistence || [[@Entity]]
| [[@Retention]] ||
|-
|-
| javax.persistence || [[@GeneratedValue]]
| [[@Target]] ||
|-
|-
| javax.persistence || [[@Id]]
|rowspan='9'| [[javax.persistence]]
| [[@Column]] || 컬럼 관련 설정(이름, 제약조건 등)
|-
|-
| org.hibernate.annotations || [[@GenericGenerator]]
| [[@Entity]] || JPA엔티티 선언
|-
|-
| org.springframework.beans.factory.annotation || [[@Autowired]]
| [[@GeneratedValue]] || 자동으로 값 부여<ref>@Id와 함께 쓰이는 경우 많음</ref>
|-
|-
| org.springframework.boot || [[@SpringBootApplication]]
| [[@Id]] || 엔티티 기본키 필드
|-
|-
| org.springframework.boot.autoconfigure || [[@EnableAutoConfiguration]] ★
| [[@JoinColumn]] || 조인 컬럼 설정
|-
|-
| org.springframework.context.annotation || [[@Bean]]
| [[@JoinTable]] || 조인 테이블 설정
|-
|-
| org.springframework.context.annotation || [[@ComponentScan]]
| [[@ManyToOne]] || 다대일 관계 설정
|-
|-
| org.springframework.context.annotation || [[@Configuration]]
| [[@ManyToMany]] || 다대다 관계 설정
|-
|-
| org.springframework.stereotype || [[@Component]]
| [[@Table]] || 테이블 관련 설정(이름 등)
|-
|-
| org.springframework.stereotype || [[@Controller]] ★★
|rowspan='4'| [[javax.validation.constraints]]
| [[@Max]] || 최대값 제약
|-
|-
| org.springframework.stereotype || [[@Service]]
| [[@Min]] || 최소값 제약
|-
|-
| org.springframework.stereotype || [[@Repository]] ★
| [[@NotNull]] || 널 허용 안함
|-
|-
| org.springframework.transaction.annotation || [[@Transactional]]
| [[@Size]] || 최소/최대 길이 제약
|-
|-
| org.springframework.web.bind.annotation || [[@RequestMapping]] ★★
| [[org.hibernate.annotations]] || [[@GenericGenerator]] ||
|-
|-
| org.springframework.web.bind.annotation || [[@ResponseBody]]
|rowspan='2'| [[org.springframework.beans.factory.annotation]]
| [[@Autowired]] ||
|-
|-
| org.springframework.web.bind.annotation || [[@RestController]] ★★
| [[@Qualifier]] ||
|-
|-
| org.springframework.web.servlet.config.annotation || [[@EnableWebMvc]] ★★
| [[org.springframework.boot]] || [[@SpringBootApplication]] || [[스프링부트]]
|-
|-
| lombok || [[@Data]]
| [[org.springframework.boot.autoconfigure]] || [[@EnableAutoConfiguration]] ★ ||
|-
|-
| lombok || [[@AllArgsConstructor]]
| [[org.springframework.cloud.config.java]] || [[@ServiceScan]] ||
|-
|-
| lombok || [[@NoArgsConstructor]]
|rowspan='3'| [[org.springframework.context.annotation]] || [[@Bean]] ||
|-
| [[@ComponentScan]] ||
|-
| [[@Configuration]] ||
|-
| [[org.springframework.core.annotation]] || [[@Order]] ||
|-
|rowspan='4'| [[org.springframework.stereotype]]
| [[@Component]] ||
|-
| [[@Controller]] ★★ ||
|-
| [[@Service]] ||
|-
| [[@Repository]] ★ ||
|-
| [[org.springframework.transaction.annotation]] || [[@Transactional]] ||
|-
| [[org.springframework.validation.annotation]] || [[@Validated]] ||
|-
|rowspan='4'| [[org.springframework.web.bind.annotation]]
| [[@ModelAttribute]] ||
|-
| [[@RequestMapping]] ★★ ||
|-
| [[@ResponseBody]] ||
|-
| [[@RestController]] ★★ ||
|-
| [[org.springframework.web.servlet.config.annotation]] || [[@EnableWebMvc]] ★★ ||
|-
|rowspan='4'| [[lombok]]
| [[@AllArgsConstructor]] || 모든 인자를 받는 생성자
|-
| [[@Data]] ||
|-
| [[@NoArgsConstructor]] || 인자 없는 생성자<ref>JPA 엔티티 클래스 필수항목임</ref>
|-
| [[@ToString]] || [[.toString()]] 메소드<ref>JPA 엔티티 클래스 필수항목임</ref>
|}
|}


==같이 보기==
==같이 보기==
* [[자바 키워드]]
* [[자바 키워드]]
* [[JSR 250: 자바 플랫폼용 공통 애노테이션]]
* [[자바 어노테이션]]
* [[JSR 250 자바 플랫폼 공통 애노테이션]]
* [[롬복 lombok]]
* [[롬복 lombok]]
* [[라라벨 애노테이션]]
* [[라라벨 애노테이션]]
72번째 줄: 115번째 줄:
* [[애노테이션]]
* [[애노테이션]]


==참고 자료==
==참고==
* https://en.wikipedia.org/wiki/Java_annotation
* https://en.wikipedia.org/wiki/Java_annotation


[[분류: Java]]
[[분류:스프링 애노테이션]]
[[분류: 애노테이션]]

2022년 4월 29일 (금) 13:10 기준 최신판

1 개요[ | ]

Spring annotation
스프링 애노테이션
소속패키지 애노테이션명 설명
@Deprecated
@Mapping
com.fasterxml.jackson.annotation @JsonIgnore JSON형식 출력시에는 제외시킴
java.lang @Override
@SuppressWarnings
java.lang.annotation @Documented
@Retention
@Target
javax.persistence @Column 컬럼 관련 설정(이름, 제약조건 등)
@Entity JPA엔티티 선언
@GeneratedValue 자동으로 값 부여[1]
@Id 엔티티 기본키 필드
@JoinColumn 조인 컬럼 설정
@JoinTable 조인 테이블 설정
@ManyToOne 다대일 관계 설정
@ManyToMany 다대다 관계 설정
@Table 테이블 관련 설정(이름 등)
javax.validation.constraints @Max 최대값 제약
@Min 최소값 제약
@NotNull 널 허용 안함
@Size 최소/최대 길이 제약
org.hibernate.annotations @GenericGenerator
org.springframework.beans.factory.annotation @Autowired
@Qualifier
org.springframework.boot @SpringBootApplication 스프링부트
org.springframework.boot.autoconfigure @EnableAutoConfiguration ★
org.springframework.cloud.config.java @ServiceScan
org.springframework.context.annotation @Bean
@ComponentScan
@Configuration
org.springframework.core.annotation @Order
org.springframework.stereotype @Component
@Controller ★★
@Service
@Repository ★
org.springframework.transaction.annotation @Transactional
org.springframework.validation.annotation @Validated
org.springframework.web.bind.annotation @ModelAttribute
@RequestMapping ★★
@ResponseBody
@RestController ★★
org.springframework.web.servlet.config.annotation @EnableWebMvc ★★
lombok @AllArgsConstructor 모든 인자를 받는 생성자
@Data
@NoArgsConstructor 인자 없는 생성자[2]
@ToString .toString() 메소드[3]

2 같이 보기[ | ]

3 참고[ | ]

  1. @Id와 함께 쓰이는 경우 많음
  2. JPA 엔티티 클래스 필수항목임
  3. JPA 엔티티 클래스 필수항목임
문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}