분류 전체보기
-
[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..
-
[Spring] Annotation 이용의 장점과 @Autowired를 이용한 DI프로그래밍 공부/Spring 2021. 4. 30. 20:40
뉴렉처 강사님의 동영상 강의를 정리한 글입니다. 자바 애플리케이션의 초기화 설정하는 두가지 방법 1. XML 파일에 설정 정보를 두기 2. Annotation을 이용하여 코드 파일에 설정을 심기 Annotation - Java 5부터 추가되었다. - 클래스 또는 메서드, 변수 등에 붙여 사용된다. - 소스코드에 메타코드를 준다. (특별한 의미를 부여하거나 기능을 주입하거나 해석 시점등을 정해줌) Annotation의 장점 : 설정을 코드 안에 심어 두는 방식 - 객체를 바꾸면 설정 파일이나 코드 수정 없이 결합을 다르게 할 수 있다. @Autowired를 이용한 DI InlineExamConsole 객체를 만들 때 Exam 객체와 DI 하는 과정을 어노테이션을 이용하여 진행해보자. 기존에 작성되어 있던 ..
-
[Spring] 콜렉션 생성과 DI프로그래밍 공부/Spring 2021. 4. 30. 10:39
뉴렉처 강사님의 동영상 강의를 정리한 글입니다. ArrayList를 xml을 통해 생성하고 DI 해봅니다. 1. xml을 통해 ArrayList만 생성하고 요소는 코드에서 넣기 setting.xml Program.java List exams = (List) context.getBean("exams"); exams.add(new NewlecExam(1,1,1,1)); for(Exam e: exams) System.out.println(e); 2. ArrayList 생성자를 이용하여 xml 파일에서 요소까지 넣기 list Collection을 추가한 생성자를 통해 ArrayList 생성 setting.xml 1) constructor-arg 태그를 이용 2) list 태그를 이용하여 Collection형으로..
-
[Spring] 생성자 DI프로그래밍 공부/Spring 2021. 4. 29. 23:39
뉴렉처 강사님의 동영상 강의를 정리한 글입니다. xml에서 여러 field 값이 포함된 생성자를 통해 객체를 생성하는 법을 알아보자. public NewlecExam(int kor, int eng, int math, int com) { this.kor = kor; this.eng = eng; this.math = math; this.com = com; } 위와 같은 생성자를 포함한 class를 선언하는 방법 1. 기본 => 어떤 field 값인지 알 수 없다. 2. index 이용 => index를 이용하여 입력되는 value의 순서를 조정할 수 있다. 하지만 여전히 어떤 field 인지 구분이 어렵다. 3. name 이용 4. type 이용: 변수명은 같고 type이 다른 경우 사용 5. 단일 태그로 ..
-
[Spring] 값 형식 DI프로그래밍 공부/Spring 2021. 4. 29. 23:04
뉴렉처 강사님의 동영상 강의를 정리한 글입니다. 이전 글에는 setter에 reference를 넘겨주는 것을 하였다. (예시: XML 파일에서 선언한 exam 객체를 GridExamConsole에 DI) 이번에는 값 형식을 DI 하는 것을 배워보자 (예시: 국어, 수학, 영어, 컴퓨터 점수를 XML 파일을 이용하여 set 하는 법) name, value 필드를 채운 property 태그를 추가한다. value를 따른 태그로 분리하여 사용할 수도 있다. 40 NewlecExam 클래스에 각 property를 setting 할 수 있는 setter 함수가 정의되어 있어야 한다. source > generator 를 이용하여 편리하게 setter 함수를 추가하자. 값을 지정해준 뒤 실행하면 값이 들어온 것을 ..
-
[Spring] IoC 컨테이너 사용하기 (ApplicationContext 이용하기)프로그래밍 공부/Spring 2021. 4. 29. 22:49
뉴렉처 강사님의 동영상 강의를 정리한 글입니다. Application Context : Spring에서 설정 정보의 제공을 위한 핵심 인터페이스 지시서를 넘길 때 지시서의 위치에 따라 다른 클래스를 사용한다. - ClassPathXmlApplicationContext: application의 root로 부터 경로를 지정할 때 => 가장 보편적인 방법 - FileSystemXmlApplicationContext: 파일 시스템의 경로를 이용할 때 (C 드라이브 ~) - XmlWebApplicationContext: 웹의 url을 통해 경로를 지정할 때 - AnnotationConfigApplicationContext: 파일을 통해 넘기지 않고 scan을 통해 넘김 ApplicationContext conte..