Spring & Springboot/올인원 스프링 프레임워크 43

Java 파일 분리와 @Import 애너테이션

· 기능 단위로 스프링 설정 파일을 분리하여 개발의 편의성을 높여준다. · MemberConfig.java 파일을 3개의 파일로 분리하고 스프링 컨테이너 초기화에 이용하는 작업을 수행해본다. 분리할 파일 생성하기 · ch06_pjt_01.ems.configuration 패키지에 MemberConfig1, MemberConfig2, MemberConfig3.java 파일을 생성한다. · 스프링 컨테이너에 빈 객체를 생성하는 역할을 하므로 @Configuration을 명시해준다. Java 코드 분리하기 MemberConfig1.java · 학생 정보를 추가, 수정, 검색, 삭제하는 Service 및 DAO 빈 객체를 스프링 컨테이너에 생성하는 코드 · InitSampleData부터 PrintStudentIn..

XML 파일을 Java 파일로 변경하기

XML파일을 Java 파일로 변경하기 XML파일이 아닌 Java파일을 이용해서 스프링 설정 파일을 만들어본다. 예제 프로젝트 준비하기 1. ch04_pjt_01 프로젝트를 복사해서 ch06_pjt_01로 붙여넣는다. 2. pom.xml에서 를 ch04_pt_01에서 ch06_pjt_p1로 수정한다. ch06_pjt_01 3. [src/main/java] 내부의 패키지 이름을 ch04_pjt_01 → ch06_pjt_01로 변경한다. 변경 전 변경 후 4. [src/main/resources] 내부의 appplicationContext.xml에서 모든 패키지명을 ch04_pjt_01에서 ch06_pjt_01로 수정한다. - appCtx1, appCtx2, appCtx3, appCtxImport.xml도 모..

스마트폰 연락처 -2

@Autowired를 이용한 의존 객체 자동 주입 생성자가 여러 개인 경우 Serivce빈이 생성될 때 생성자에 ContactDao가 자동 주입되는 것을 확인했다. 만약 새성자가 오버라이드되어 여러 개가 있다면 어떻게 될까? 이를 확인하기 위해 Service클래스에 디폴트 생성자를 추가하고 실행해보면 다음과 같다. ■ ContactRegisterService 클래스 생성자 public ContactRegisterService() { System.out.println("default constructor"); } public ContactRegisterService(ContactDao contactDao) { System.out.println("contactDao: " + contactDao); this...

스마트폰 연락처 -1

스마트폰 연락처의 개요 스마트폰 연락처 프로젝트 스마트폰의 연락처로 특정 인물에 대한 연락처가 출력되는 프로그램 ▶ 시나리오 ① 연락처 3개의 샘플 데이터를 데이터베이스에 등록한다. ② 전체 연락처 정보를 출력한다. ③ 특정 인물에 대한 연락처를 출력한다. ▶ 프로그램 흐름도 MainClass ContactRegisterService ContactSearchService ContactDao IoC 컨테이너 생성 연락처 등록 연락처 조회 연락처 등록, 조회 ▶ 클래스와 appCtx.xml 내용 MainClass 클래스 MainClass main() 메서드가 명시되어 있는 클래스 Service 클래스 ContactRegisterService 연락처 등록 ContactSearchService 연락처 조회 DA..

학사 관리 시스템 -4

스프링 빈 범위 IoC 컨테이너에 생성된 빈을 getBean()으로 호출하면 항상 동일한 객체가 반환된다. → 스프링은 기본적으로 객체 범위를 싱글턴으로 관리하기 때문이다. 싱글턴 (스프링 빈 범위) : 객체를 호출할 때마다 새로 생성하지 않고 기존의 객체를 재활용 하는 것 ch04_pjt_02 프로젝트를 생성하고 다음 구조처럼 나타낸다. 1. 메이븐 설정 파일 pom.xml에서 spring-context 모듈과 빌드를 설정한다. 4.0.0 spring5 ch04_pjt_02 0.0.1-SNAPSHOT org.springframework spring-context 5.2.9.RELEASE maven-compiler-plugin 3.1 11 11 utf-8 2. DependencyBean 클래스 객체가 생..

학사 관리 시스템 -3

MainClass.java MainClass.java를 생성하여 main() 메서드에서 GenericXmlApplicationContext와 IoC 컨테이너에 생성된 빈을 이용해본다. src/main/java > ch04_pgt_01.ems 패키지 생성 > MainClass.java 만약 ch04_pgt_01.ems 패키지 생성 시 오류 발생하면 ? 우클릭 > class 생성 Package 변경 : ch04_pjt_01.ems Name : MainClass MainClass의 구조는 다음과 같다. 1. applicationContext.xml와 GenericXmlApplicationContext를 이용하여 Ioc 컨테이너를 생성한다. GenericXmlApplicationContext ctx = new ..

학사 관리 시스템 -2

스프링 설정 파일 src/main/resources > applicationContext.xml 파일을 생성한다. applicationContext.xml 전체 코드는 다음과 같다. hbs001 hbs002 hbs003 hbs004 hbs005 rabbit hippo raccoon elephant lion p0001 p0002 p0003 p0004 p0005 agatha barbara chris doris elva 19 22 20 27 19 M W W M M English Korean French Philosophy History Cheney. Eloy. Jasper. Dillon. Kian. Cheney cheney@springPjt.org Jasper jasper@springPjt.org dev //..

학사 관리 시스템 -1

학사 관리 시스템의 개요 학사 관리 시스템에서 학생 관리(학생 등록, 조회, 수정, 삭제 등) 부분을 구현한 프로그램이다. ▶ 프로젝트 시나리오 · 학생 5명의 샘플 데이터를 데이터베이스에 등록한다. · 전체 학생 정보를 출력한다. · 새로운 학생 정보를 등록한다. · 학생 정보를 수정한다. · 학생 정보를 삭제한다. · 시스템 정보를 출력한다. ▶ 프로젝트 구조 프로그램에서 사용하는 클래스와 IoC 컨테이너 제작에 필요한 applicationContent.xml의 내용은 다음과 같다. 학생 정보를 등록, 조회, 수정, 삭제하는 서비스 클래스들은 DAO(StudentdDao)을 이용해서 학생 정보를 관리한다. IoC 컨테이너 : 서비스 객체를 생성하고, 필요한 DAO 객체를 생성해서 서비스에 주입하는 역..

프로젝트 생성 시 나타나는 경고 해결방안

The compiler compliance specified is 1.5 but a JRE 11 is used 이 경고는 컴파일러의 JRE버전이 현재 설정된 JRE11버전과 동일하지 않기 때문에 발생한 경고이다. [해결방안] project > properties > Java Compiler 에서 버전을 1.5 → 11로 변경해준다. Build path specifies execution environment J2SE-1.5. There are...workspace that are strictly compatible with this environment. 이 경고는 현재 JRE11 버전을 사용하도록 설정되어있는데 해당 프로젝트에는 1.5버전이 사용되도록 되어있어서 나타난다. [해결방안] project >..

스프링을 이용한 계산기 프로그램

2장에서 만들었던 계산기 프로그램을 이용하여 메이븐을 이용하여 스프링 모듈을 사용하도록 해본다. New > Project > Maven > Maven Project 선택 Create a simple project 체크 Group Id : spring5 Artifact Id : ch03_pjt_03 입력 생성된 ch03_pjt_03 프로젝트의 pom.xml에 스프링과 빌드를 설정한다. 4.0.0 spring5 ch03_pjt_03 0.0.1-SNAPSHOT org.springframework spring-context 5.2.9.RELEASE maven-compiler-plugin 3.1 11 11 utf-8 JRE System Library가 JDK11로 되어있는지 확인한다. (만약 1.5로 설정되어있다..