본문 바로가기
반응형

전체 글312

스프링 컨테이너 IoC컨테이너 [1] 스프링 컨테이너 (1) IoC 정의 제어의 역전 = 객체에 대한 제어권이 바뀌었다 = 제어반전 컴포넌트 의존관계 , 설정 , 생명주기를 해결하기 위해 디자인 패턴(전략패턴)에 적용한다 고전방식인 메서드에 기능을 직접 객체생성하는 방식에서 IoC방식인 공통기능을 가진 메서드가 실행시 객체가 생성되는 방법으로 변화되었다 자주 변하는 코드를 변하지 않는 코드 형태로 작성하여 유지보수에 용이하는 것을 목적으로 한다 사용할 객체를 외부에서 주입해주는 개념 (의존성주입 DI) 에 적용한다 (2) IoC컨테이너 : 스프링 컨테이너 객체의 생명주기를 관리, 생성된 인스턴스에게 추가기능을 제공하도록 한다 객체를 생성하고 의존성을 관리해주는 컨테이너 스프링 컨테이너가 관리하는 객체를 Bean이라고 한다 Map 인타.. 2023. 9. 4.
자바 빈 Bean [1] 자바 빈 (1) 자바 빈의 정의 스프링 컨테이너가 관리하는 객체를 말한다 (2) 자바 빈의 역사 JavaBeans GUI 사용목적 재사용 가능한 컴포넌트 인스턴스 변수 iv getter & setter no-args constuctor가 관리 ↓ Servlet & JSP bean 서버 사용목적 mvc의 model : date 전달 EL scope JSP container 가 관리 ↓ EJB : Enterprise Java Beans 대기업 사용자를 위한 목적 복잡한 규칙 EJB container 가 관리 ↓ Spring Bean POJO 단순 독립적 Spring container가 관리 [2] POJO (1)POJO 구성 자바 모델 , 기능 , 프레임워크를 따르지 않는 자바 객체를 말한다 객체 지.. 2023. 9. 4.
스프링_외부파일 XML의 <property> [1] 외부파일 연결 (1) 외부파일을 연결하는 목적 변경에 유리한 코드를 만들기 위해 외부파일을 이용한다. 스프링 컨테이너인 Map 과 외부 파일(Properties, XML , Java)을 이용한다 프로그램의 코드를 변경하지 않고 properties 파일을 변경해서 사용한다 [2] xml 외부파일 연결 (1) key , value 형식의 xml 외부파일 연결 JAVA 코드를 변경하지 않고 외부 파일에 저장된 (key, value) 값을 읽어 실행하고 추후 유지보수같은 변경이 필요할 경우 외부파일의 (key, value)값을 변경하여 유지보수한다 외부파일 config.xml 를 생성한다. 외부파일xml 의 value로 해당된 값이 출력된다. [3] 객체 반복 생성 (1) 객체 생성 반복 매번 객체 생성.. 2023. 9. 1.
객체자동등록 후 객체자동연결 @Autowired / @ Resource [1] 객체 수동연결 (1) 객체 수동 연결 [3] 객체 자동연결 @Autowired (1) @Autowired 특징 인스턴스변수 iv , setter , 참조형 매개변수를 가진 생성자 또는 메서드에 적용한다 스프링에서 Bean 인스턴스가 생성 된 후 @Autowired를 설정한 메서드가 자동으로 호출되고 인스턴스가 자동으로 주입된다 (DI) Spring container에서 타입으로 bean을 검색해서 참조 변수에 자동으로 주입한다 검색된 빈이 n개이면 그 중에 참조변수와 이름이 일치하는것을 주입한다 생성자의 경우 생략 가능하다. 디폴트 생성자가 있다면 생략하지 않는것이 좋다. 인스턴스 변수에 일일이 연결하는 것보다 매개변수를 이용하는것이 더 좋다 by Type 으로 빈을 검색한다 (2)@Autowir.. 2023. 9. 1.
객체컨테이너 + 객체자동등록 @Component [1] Componset Scanning (1) Componset Scanning 정의 패키지 내의 모든 클래스를 읽어서 set에 저장하여 패키지 내에 @Component 붙은 클래스를 찾아 객체를 생성하여 map에 저장한다. 개발자마다 config.txt 파일을 생성해서 계속 추가할수는 없으니 보통 공통으로 사용하는 객체에 만들고 본인의 객체는 객체컨테이너에 넣어둔다 둘다 혼용하여 사용한다 (2) Componset Scanning 설정하기 Componset Scanning 방법을 사용하려면 구아바 라이브러리를 사용한다 https://mvnrepository.com/artifact/com.google.guava/guava/32.0.1-jre pom.xml 파일 내에 라이브러리를 추가한 후 maven 업데.. 2023. 9. 1.
ApplicationContext 객체 컨테이너 생성하기 [1] ApplicationContext (1) 객체 컨테이너 생성하기 외부파일에서 가져온 정보를 객체컨테이너인 HashMap에 저장하여 저장된 key 객체를 불러와 값을 반환시킨다 외부파일에 저장된 내용을 반복문으로 클래스이름인 key 객체를 받아와서 HashMap 저장한다. getBean 메서드는 key객체를 담게 해주는 메서드이다. ac라는 객체저장소를 정의하여 car 라는 클래스이름을 가진 key 객체를 객체저장소에서 찾아 car 변수에 담는다 2023. 9. 1.
스프링_외부파일 properties 연결 (feat, @Value) [1] 외부파일 연결 (1) 외부파일을 연결하는 목적 변경에 유리한 코드를 만들기 위해 외부파일을 이용한다. 스프링 컨테이너인 Map 과 외부 파일(Properties, XML , Java)을 이용한다 프로그램의 코드를 변경하지 않고 properties 파일을 변경해서 사용한다 [2] txt 외부파일 연결 (1) key , value 형식의 txt 외부파일 연결 JAVA 코드를 변경하지 않고 외부 파일에 저장된 (key, value) 값을 읽어 실행하고 추후 유지보수같은 변경이 필요할 경우 외부파일의 (key, value)값을 변경하여 유지보수한다 외부파일 config.txt 를 생성한다. 외부파일의 value로 해당된 값이 출력된다. [ !! 유지보수 발생 ] 외부파일 txt 파일 변경 후 결과물 변경.. 2023. 9. 1.
스프링_ WebDataBinder & 데이터검증 수정필요 / 데이터 검증 에러가 발생하였을때 에러의 상세 정보를 콘솔에 조회한다 day 값에 aa를 잘못 입력해보았다. 콘솔에 에러 정보가 조회된다 [1] Validator 검증기 (1) Validator 개요 객체를 검증하기 위한 인터페이스 객체 검증기 Validator 구현에 사용한다 컨트롤러 클래스 내에 검증하는 메서드를 구현했으나 검증을 하는 클래스를 별도로 만들어서 적용한다 (2) Validator 구성 인터페이스 메서드 1 : 검증이 가능한 객체인지 true 검증 메서드 2 : 객체를 검증하는 메서드 UserValidator 인터페이스 생성 supports 메서드 : 검증이 가능한 객체인지 참/거짓 확인 validate 메서드 : 검증하려는 객체 clazz가 User 타입인지 , 자손인지 찾는.. 2023. 8. 30.
웹프로젝트_ [4] 회원가입화면 데이터 변환 [1] 생일 Date 변환 (1) String - Date 변환 클라이언트의 입력한 타입을 프로그램이 적용가능한 타입으로 자동 변환시키기 String 타입 : 2020/10/15 Date 타입 :Thu Oct 15 00:00:00 KST 2020 String-Date 타입 변환을 위해서 변환메서드 생성하여 작동시킨다 registerInfo.jsp 파일 String birth 타입을 Date 타입으로 변경한다. String 타입 2020/12/31 에서 Date 타입으로 변환하기 위해서는 BindinResult result 를 넣으면 타입 변환이 되고 기존 2020/12/31 이 아니라 2020-12-31 으로 입력할 경우에도 변환을 적용하려면 @InitBinder를 통해 변환기를 설정한다 yyyy-mm-.. 2023. 8. 30.
스프링_ WebDataBinder & 데이터변환 [1] PropertyEditor 타입변환 (1) PropertyEditor 양방향 타입 변환에 관여한다 특정 타입이나 이름의 필드에 적용가능하다 인스턴스 변수를 사용한다 변환 : String -> 타입 , 타입 -> String (2) PropertyEditor 종류 디폴트 PropertyEditor : 스프링이 기본적으로 제공한다 커스텀 PropertyEditor : 사용자가 직접 구현한다. PropertyEditoerSupport를 상속하면 편리하다 PropertyEditoerSupport 가이드 org.springframework.beans.propertyeditors (Spring Framework 6.0.11 API) Property editor for any Number subclass su.. 2023. 8. 29.
반응형