01. 💖Spring Bean Configuration File[05-5.lombok.xml]" xmlns:xsi="" xmlns:context="" xsi:schemaLocation=" "> 02. DTO클래스Member.javapackage xyz.itwill05.lombok;import lombok.Data;import lombok.RequiredArgsConstructor;//클래스의 생성자나 메소드를 자동으로 만들어주는 Lombok 라이브러리를 사용하는 방법//1.Lombok 라이브러리를 프로젝트에 빌드 처리 - 메이븐 사용 : pom.xml//2.이클립스를 종료하고 콘솔을 관리자 권한으로 실행한 후 Lombok 라이브러리가 저장된 로컬//저장소(Local Repositor..
framework/spring IOC(제어의 역행)
01. spring 컨테이너가 컴포넌트로 만들어주는 어노테이션 (부모 - 자식) 02. 의존성 주입을 위해 사용하는 어노테이션 03. 💖Spring Bean Configuration File[05-4.diAnnotation.xml]" xmlns:xsi="" xmlns:context="" xsi:schemaLocation=" "> 04. DAO클래스 - 포함(의존) : 부(자식) AnnotationStudentJdbcDAO클래스 : Spring Bean이 된 DAO 클래스package xyz.itwill05.di;import java.util.List;import org.springframework.context.annotation.Primary;import org.springframework..
01. 💖Spring Bean Configuration File[05-3.autowire.xml]" xmlns:xsi="" xsi:schemaLocation=" "> --> 1) 수동 의존성 주입 StudentServiceImpl 클래스의 studentDAO 필드에 studentDAO 인터페이스를 상속받은 자식클래스의 객체(Spring Bean)가 저장되도록 의존성 주입 - 의존관계 성립 --> 의존성 주입을 하지 않으면 StudentServiceImpl 클래스의 메소드에서 StudentDAO 인터페이스를 상속받은 자식클래스의 메소드를 호출할 경우 NullPointerException 발생 --> 개발자 직접 만든 의존성 주입 - 개발자가 아래의 명령 ..
01. DTO클래스Student클래스package xyz.itwill05.di;//학생정보를 저장하기 위한 클래스 - VO 클래스(DTO 클래스)public class Student { private int num; public String name; public String email; public Student() { System.out.println("### Student 클래스의 기본 생성자 호출 ###"); } public Student(int num) { super(); this.num = num; System.out.println("### Student 클래스의 매개변수(학번)가 선언된 생성자 호출 ###"); } /* //Spring Bean Configuration File에서 매..
01. CollectionBean클래스CollectionBean.javapackage xyz.itwill05.di;import java.util.List;import java.util.Map;import java.util.Properties;import java.util.Set;public class CollectionBean { //1. 자료구조에 값을 저장하는 Field private Set nameSet; private List nameList; //2. 자료구조에 객체를 저장하는 Field //Collection 객체의 제네릭을 인터페이스로 설정하면 Collection 객체의 요소에는 인터페이스를 //상속받은 모든 자식 객체 저장 가능 private Set controll..
01. 스프링 Bean 클래스 생성법🍭BeanFactory 객체를 생성하여 스프링 컨테이너로 사용🍡ApplicationContext 객체를 생성하여 스프링 컨테이너로 사용 - 권장1) ApplicationContext 객체 사용의 장점xml 파일을 읽는 것이 쉬움미리 객체를 만들어주기 때문에 빠르게 접근해 객체 사용할 수 있음스프링을 초기화 처리할 수 있는 다양한 메소드들이 매우 많음ApplicationContext 객체를 제거하는 메소드도 사용 가능 - 객체는 미리 만들어지지만 사용 안하면 지울 수 있으므로 메모리 관리 효율적나중에 Spring MVC 만들 때 WebApplicationContext객체 (ApplicationContext객체의 자식)을 이용해 만듦또한 BeanFactory 객체는 I..
01. 🌈Spring IoC(제어의역행)의 장점🌈팩토리클래스 안만들어도 됨 : 스프링이 기본적으로 그 역할을 해줌다른 클래스를 고칠 필요가 없음그 전에는 HelloMessageObject에서 HiMessageObject클래스로 변경하고 싶다면?팩토리클래스 뿐만 아니라 Service클래스도 조금은 변경이 필요했음하지만, Spring은 팩토리 역할을 하는 xml환경설정파일만 수정하면됨!또한, 팩토리클래스처럼 객체도 만들어주지만, 객체 간의 관계까지 설정해줌 : xml파일 외 다른 프로그램을 수정할 필요가 없다는 뜻임결합도를 완전히 느슨하게 했음!! 02. 일종의 DAO클래스(부모) src.main.java > xyz.itwill03.spring > MessageObject.javapackage xyz.i..
01. 결합도가 높은 프로그램 - BAD결합도가 높으면 유지보수가 어려움1) 일종의 DAO클래스java > xyz.itwill01.old > HelloMessageObject.javapackage xyz.itwill01.old;//객체간의 결합도가 높은 프로그램 - 개발자가 직접 객체 만듦public class HelloMessageObject { //일종의 DAO메소드 public String getHelloMessage() { return "Hello!!!"; }java > xyz.itwill01.old > HiMessageObject.javapackage xyz.itwill01.old;//객체간의 결합도가 높은 프로그램 - 개발자가 직접 객체 만듦public class HiMessageObjec..