Annotation 직접 만들기

기록/Spring 2021. 1. 2. 00:19

@Qualifier에 대해 의존성 주입 애노테이션 @Autowired 스프링 프레임워크에서 제공하는 애노테이션이다. @Autowired는 타입 매칭을 시도 하고 , 여러 빈이 있으면 필드 이름(파라미터 이름)으로 빈 이름을 추가 매칭한다. ac.getBean(클래스.class) write-read.tistory.com @Qualifier("mainDiscountPolicy") 이렇게 문자를 적으면 컴파일 시 타입 체크가 안된다. 다음과 같은 애노테이션을 만들어서 문제를 해결할 수 있다. @Target({ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER, ElementType.TYPE, ElementType.ANNOTATION_TYPE}) @Ret..

Lombok 사용해보기

기록/Spring 2020. 12. 30. 23:13

build.gradle plugins { id 'org.springframework.boot' version '2.3.7.RELEASE' id 'io.spring.dependency-management' version '1.0.10.RELEASE' id 'java' } group = 'hello' version = '0.0.1-SNAPSHOT' sourceCompatibility = '11' //lombok 설정 추가 시작 configurations { compileOnly{ extendsFrom annotationProcessor } } //lombok 설정 추가 끝 repositories { mavenCentral() } dependencies { implementation 'org.springfra..

Article Thumbnail
의존성 주입 애노테이션(@Autowired,@Resource,@Inject)

기록/Spring 2020. 12. 30. 22:29

@Autowired 스프링 프레임워크에서 제공하는 애노테이션이다. @Autowired는 타입 매칭을 시도 하고 , 여러 빈이 있으면 필드 이름(파라미터 이름)으로 빈 이름을 추가 매칭한다. ac.getBean(클래스.class) 이 코드와 유사하게 동작한다. (실제로는 더 많은 기능을 제공한다) 필드 , 생성자 , Setter에 붙일 수 있다. 단, 필드 또는 Setter에 붙여서 사용할 경우 반드시 기본 생성자가 정의 되어 있어야 한다. @Resource 자바에서 제공하는 애노테이션이다. @Resource는 주입하려고 하는 객체의 이름(인스턴스 명)이 일치하는 객체를 자동으로 주입한다. 필드 , Setter에 붙일 수 있다. 반드시 기본 생성자가 정의 되어 있어야 한다. @Inject @Inject는 ..