annotation
-
[Spring] Java Configuration프로그래밍 공부/Spring 2021. 5. 5. 11:37
뉴렉처 강사님의 동영상 강의를 정리한 글입니다. xml으로 작성된 configuration 파일을 java 파일로 바꾸기 1. 설정을 위한 자바 파일: @Configuration 2. componentScan: @ComponentScan("spring.di.ui") //setting.xml + 여러 패키지를 컴포넌트 스캔하고 싶은 경우 @ComponentScan({"spring.di.ui", "spring.di.entity"}) 3. bean 객체 생성 setting.xml //setting.xml config.java @Bean public Exam exam(){ return new NewlecExam(); } 일반적인 메서드가 아닌 컨테이너에 객체를 담아주는 역할 - exam이라는 id로 컨테이너에 ..
-
[Spring] @Component의 종류와 시멘틱 @Component프로그래밍 공부/Spring 2021. 4. 30. 22:48
뉴렉처 강사님의 동영상 강의를 정리한 글입니다. 기본 값 설정을 위한 @Value 어노테이션 @Component 어노테이션으로 생성되는 객체의 값을 설정해주기 위한 어노테이션이다. 다음과 같이 사용한다. NewlecExam.java @Component("exam2") public class NewlecExam implements Exam { @Value("20") private int kor; @Value("30") private int eng; private int math; private int com; public NewlecExam() { } } MVC 애플리케이션을 제작할 때 각 객체(Component)의 역할을 알기 쉽게 하기 위해(의미를 분명하게 하기 위해) @Controller, @Serv..
-
[Spring] Annotation을 이용한 객체생성프로그래밍 공부/Spring 2021. 4. 30. 22:18
뉴렉처 강사님의 동영상 강의를 정리한 글입니다. @Component : 객체화 하고 싶은 클래스 위에 넣어준다. xml의 context:annotation-config 설정 태그는, 객체를 생성할 때 객체 생성 코드 안에 어노테이션이 있는지 보라는 것이다. 어노테이션을 이용하여 객체를 생성하게 되면, xml에서 객체 생성하는 코드가 제거되어 위의 설정으로는 어노테이션을 확인 할 수가 없다. 따라서 context:component-scan 설정 태그를 추가하여, 어노테이션으로 생성되는 객체가 있는지를 확인하도록 해야 한다. => spring.di.ui 패키지 안의 클래스 중 component 어노테이션이 붙은 클래스를 찾아 객체화 한다! 객체화 할 때, 객체 생성 코드 안의 어노테이션 설정을 찾는 과정이 ..
-
[Spring] @Autowired의 위치와 Required 옵션프로그래밍 공부/Spring 2021. 4. 30. 21:31
뉴렉처 강사님의 동영상 강의를 정리한 글입니다. @Autowired와 @Qualifier의 위치 1. setter 함수 위 2. field 위 -> 기본 생성자에서 객체 binding 3. 오버로드 생성자 위 3번의 경우 여러개의 argument를 가질 수 있기 때문에 각 argument 앞에 @Qualifier을 붙여 주어야 한다. @Autowired public InlineExamConsole( @Qualifier("exam1")Exam exam1, @Qualifier("exam2")Exam exam2) { System.out.println("overloaded constructor"); this.exam = exam1; } @Autowired를 설정한 경우 DI할 객체가 없으면 에러가 발생한다. 하..
-
[Spring] @Autowired와 @Qualifier프로그래밍 공부/Spring 2021. 4. 30. 21:09
뉴렉처 강사님의 동영상 강의를 정리한 글입니다. @Autowired: XML에서 DI 하는 것을 대신하는 어노테이션 기본적으로 자동으로 해당 객체를 찾아 DI를 해준다. 어떤 기준? 1. 해당 인터페이스나 클래스로 구현된 객체를 찾는다. 2. 찾아진 객체가 여러개일 경우 사용된 이름과 동일한 객체를 찾는다. @Autowired @Override public void setExam(Exam exam) { this.exam = exam; } 1 => Exam으로 구현된 객체를 찾는다. 2 => exam 이름을 가진 객체를 찾는다. DI 할 객체의 이름을 특정해주는 어노테이션이 존재한다. 이때 사용하는 어노테이션이 @Qualifier이다. @Qualifier("exam1") 과 같이 사용한다. InlineEx..