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..
전체 글
Weekly I learned01. 💖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..
01. 로그팩토리 없이 콘솔에 로그 출력1) 단점단일 스레드로 인해 기록하면서 실행을 함께 해야함 : 속도 저하메소드명이나 클래스명이 바뀌면 출력되는 로그정보도 직접 수정해줘야함 : 유지보수의 효율성 감소비효율적인 프로그램이 됨 이러한 문제점들을 로그구현체가 해결해줌2) HelloWorld.javapackage xyz.itwill00.log;public class HelloWorld { public String hello(String name) { System.out.println("HelloWorld 클래스의 hello 메소드 - 시작"); String message=name + "님, 안녕하세요."; System.out.println("HelloWorld 클래스의 hello 메소드 - 종료");..
01. Spring 프로젝트 파일명의 종류 main : 배포하기 위해 만들어진 프로그램 - main프로그램src/main/java : main 프로그램에서 사용하는 클래스를 두는 파일 : servlet, model, dto, daosrc/main/resources : main 프로그램 만들 때 필요한 값들을 저장하는 폴더 : xml파일 , properties파일src/main/webapp : 웹프로그램과 관련된 자원 : 이미지파일, 동영상파일, 음악파일, html파일, css파일, js파일, jsp파일test : test를 하기위해 만들어진 프로그램 - test프로그램jUnit을 이용하면 test 프로그램을 만들 수 있음dao, service, model 역할 하는 프로그램이 제대로 동작되는지 확인 ..
01. Maven빌드 툴프로젝트의 라이브러리를 관리하는 프로그램https://mvnrepository.com/ 02. Maven이 제공하는 최신버전의 라이브러리로 변경메이븐을 이용해 필요한 라이브러리 변경할 것pom.xml로 메이븐에게 요청하면 자동으로 빌드될 것임필요한 라이브러리를 로컬 레파지토리에서 가져오거나,만약 필요한 라이브러리가 없다면 메이븐 레파지토리에서 로컬레파지토리로 알아서 다운해줌 기존 처음 빌드하면 제공해주는 기본 라이브러리 버전들최신 라이브러리로 변경 후 버전들팁) 밝은것 : 항상 빌드됨팁) 어두운것 : 실행될 때 빌드됨필요한 최신의 라이브러리는 https://mvnrepository.com 사이트에서 찾아 수정할 수 있음ex) https://mvnrepository.com/art..