교재 실습266 140. 컬렉션 값 주입 (1) 자바에서는 배열이나 List와 같이 여러 개의 값을 저장하고 다루는 객체를 컬렉션(collection)이라 부른다. 이번 절에서는 자주 사용하는 컬렉션 타입인 배열, List, Set, Map, Properties의 값을 설정하는 방법을 알아본다. 1. 배열 프로퍼티의 값 주입 먼저 빈의 프로퍼티가 배열이나, List, Set 타입인 경우, 어떻게 값을 설정하는지 배워본다. - 실습 패키지 생성 exam 패키지 아래에 test09 패키지를 생성한다. test08 패키지의 모든 파일을 복사해온다. - beans.xml 빈 설정 파일 exam/test09/beans.xml 파일을 열고 다음과 같이 편집한다. ... ▶ 자바 코드로 표현하면? Engine temp new Engine(); temp.setMak.. 2022. 10. 25. 139. 의존 객체 주입 (2) 2. 개별 인스턴스 주입하기 이번 실습에서는 프로퍼티에 의존 객체를 주입할 때 이미 존재하는 빈을 주입하는 것이 아닌, 새로 빈을 만들어 주입하는 방법을 알아본다. - 실습 패키지 생성 exam 패키지 아래에 test08 패키지를 생성한다. test07 패키지의 모든 파일을 복사해온다. - beans.xml 빈 설정 파일 exam/test08/beans.xml 파일을 열고 다음과 같이 편집한다. ▶ 자바 코드로 표현하면? Engine temp = new Engine(); temp.setMaker("Hyundai"); temp.setCc(1495); Car car1 = new Car("Avante", temp); 생성자 매개변수를 설정할 때 새로 빈을 생성하여 할당하고 싶다면 태그의 자식 태그로 태그를 선.. 2022. 10. 24. 138. 의존 객체 주입 (1) 어떤 객체가 작업을 수행하기 위해 다른 객체를 지속적으로 사용한다면 그 사용되는 객체를 의존 객체(depencencies)라 부른다. 보통 지속적으로 사용할 객체는 프로퍼티에 보관한다. 이번 절에서는 바로 이 프로퍼티 값으로 의존 객체를 주입하는 방법을 배운다. 1. 의존 객체 설정하기 지금까지는 프로퍼티 값으로 문자열 또는 숫자를 설정하였다. 이번에는 프로퍼티 값으로 객체를 지정하는 방법을 알아본다. 의존 객체 사용과 설정에 대한 이해를 돕기 위해 특별한 구조의 클래스를 준비할 것이다. 다음은 실습 클래스의 관계도이다(그림 1). Car 객체는 Engine 객체와 Tire 객체를 필요로 한다. 특히 Tire 객체는 여러 개를 갖는다. - 실습 패키지 생성 exam 패키지 아래에 test07 패키지를 생.. 2022. 10. 23. 137. 생성자와 프로퍼티 설정 (3) 3. 의 속성을 이용하여 생성자 및 프로퍼티 설정하기 스프링은 태그를 사용하지 않고 프로퍼티 값을 설정하는 방법을 제공한다. 또한 태그를 사용하는 대신 더 간단히 생성자의 매개변수 값을 설정하는 방법도 제공한다. 태그의 속성을 통해 프로퍼티나 생성자의 매개변수 값을 설정하는 방법이다. 실습을 통해 자세히 알아본다. - 실습 패키지 생성 exam 패키지 아래에 test06 패키지를 생성한다. test05 패키지의 모든 파일을 test06 패키지에 복사한다. - beans.xml 빈 설정 파일 exam/test06/beans.xml 파일을 열고 다음과 같이 편집한다. xmlns:p="http://www.springframework.org/schema/p" 태그의 속성을 통해 프로퍼티 값을 설정하려면, 먼저 .. 2022. 10. 21. 136. 생성자와 프로퍼티 설정 (2) - 빈 컨테이너 테스트 생성자 호출을 테스트하는 exam.test04.Test 클래스를 다음과 같이 편집한다. package exam.test04; import org.springframework.context.support.ClassPathXmlApplicationContext; public class Test { public static void main(String[] args) { //IoC 컨테이너 준비하여 빈 생성 ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("exam/test04/beans.xml"); Score score1 = (Score)ctx.getBean("score1"); System.out.prin.. 2022. 10. 20. 135. 생성자와 프로퍼티 설정 (1) 이번 절에서는 스프링 IoC 컨테이너를 사용하여 빈을 생성할 때 생성자와 프로퍼티를 설정하는 방법을 배운다. 1. 호출할 생성자 설정 이번 실습에서는 인스턴스에 대해 호출될 생성자를 지정하는 방법을 알아본다. 빈을 선언할 때 엘리먼트를 이용하여 호출될 생성자를 지정할 수 있다. - 실습 패키지 생성 exam 패키지 아래에 test04 패키지를 생성한다. test03 패키지의 모든 파일을 test04 패키지에 복사한다. - beans.xml 빈 설정 파일 exam/test04/beans.xml 파일을 열고 다음과 같이 편집한다. 홍길동 91 92 93 임꺽정 81 82 83 public Score() {} public Score(String name, float kor, float eng, float ma.. 2022. 10. 19. 134. XML 기반 빈 관리 컨테이너 (4) 4. 익명 빈 선언 설정 파일에서 빈을 선언할 때 빈의 이름을 지정하지 않을 수 있다. 이런 빈을 '익명(anonymous) 빈'이라고 부른다. 어떻게 선언하고 사용하는지 살펴본다. - 실습 패키지 생성 exam 패키지 아래에 test03 패키지를 생성한다. test02 패키지의 모든 파일을 test03 패키지에 복사한다. - beans.xml 빈 설정 파일 exam/test03/beans.xml 파일을 열고 다음과 같이 편집한다. 이전 실습 때와는 달리 빈을 선언할 때 id나 name 값을 지정하지 않는다. 이렇게 빈의 이름을 지정하지 않으면 컨테이너에 보관할 때 "패키지 이름 + 클래스 이름 + #인덱스"를 빈의 이름으로 사용한다. 동일한 클래스의 객체가 여러 개 생성될 경우를 대비해 빈 이름 뒤에 .. 2022. 10. 19. 133. XML 기반 빈 관리 컨테이너 (3) 3. name 속성으로 빈 이름 지정하기 태그를 사용하여 자바 빈을 선언할 때 id 속성 대신 name 속성에 빈 이름을 지정할 수 있다. id 속성과 name 속성의 차이점은 다음 테이블에 정리하였다. 항목 id 속성 name 속성 용도 빈 식별자를 지정한다. 중복되어선 안된다. 인스턴스의 별명을 추가할 때 사용한다. id와 마찬가지로 중복되어선 안된다. 여러 개의 이름 지정 불가! 콤마(,), 세미콜론(;) 또는 공백을 사용하여 여러 개의 이름을 지정할 수 있다. 첫 번째 이름은 컨테이너에 빈을 보관할 때 사용되고, 나머지 이름은 빈의 별명이 된다. 빈 이름 작성 규칙 스프링 프레임워크 3.1 이전 버전은 이름에 문자, 숫자, 밑줄(_), 하이픈(-), 점(.)을 사용할 수 있었다. 이름 시작은 문자.. 2022. 10. 17. 132. XML 기반 빈 관리 컨테이너 (2) 2. 스프링 빈 컨테이너 ClassPathXmlApplicationContext 사용 build.gradle 파일에서 스프링 라이브러리를 가져오는 부분을 dependencies 블록에서 더 직관적으로 표현했다. plugins { id 'org.springframework.boot' version '2.3.1.RELEASE' id 'io.spring.dependency-management' version '1.0.9.RELEASE' id 'java' } group = 'com.example' version = '0.0.1-SNAPSHOT' sourceCompatibility = '1.8' configurations { compileOnly { extendsFrom annotationProcessor } }.. 2022. 10. 15. 이전 1 ··· 12 13 14 15 16 17 18 ··· 30 다음