반응형

출처 : Spring 5 프로그래밍 입문

 

16. JSON응답과 요청 처리 

1. json개요

javascript object Notation

 

2.Jackson 의존 설정

jackson은 자바 객체와 json 형식 문자열 간 변환을 처리하는 라이버러리이다.

 

3. @RestController로 JSON 형식 응답

4. @RequestBody로 JSON요청 처리

5. ResponseEntity로 객체 리턴하고 응답 코드 지정하기

 

17. 프로필과 프로퍼티 파일

1. 프로필

2. 프로퍼티 파일을 이용한 프로퍼티 설정

 

18. 마치며

 

메이븐 기초 안내 

스피링 부트 소개

타임리프 연동 (expression)

 

반응형
반응형

출처 : spring 5 프로그래밍 입문

14. MVC 4:날짜 값 변환, @PathVariable, 익셉션 처리

1. 프로젝트 준비

2. 날짜를 이용한 회원 검색 기능

3. 커맨드 객체 Date타입 프로퍼티 변환 처리: @DateTimeFormat

pattern yyyyMMddHH

JSTL이 제공하는 날짜 형식 태그는 아쉽게도 자바 8의 LocalDateTime 타입은 지원하지 않는다.

4. 변환 처리에 대한 이해 

5. MemberDao클래스 중복 코드 정리 및 메서드 추가

6. @PathVariable을 이용한 경로 변수 처리

7. 컨트롤러 익셉션 처리하기

@GetMapping("/members/{id}")

@PathVariable("id")

 

15. 간단한 웹 어플리케이션의 구조

1. 간단한 웹 어플리케이션의 구성 요소

프론트 서블릿

컨트롤러 + 뷰

서비스

DAO

 

클라이언트가 요구한 기능을 실행

응답 결과를 생성하는데 필요한 

응답 결과를 생성할 뷰 선택

 

2. 서비스의 구현

3. 컨트롤러에서의 dao구현

4. 패키지 구성

 

반응형
반응형

출처 : Spring 5 프로그램밍 입문 

1. 프로젝트 준비

2. 로그인 처리를 위한 코드 준비

3. 컨트롤러에서 HttpSession사용하기

로그인 상태를 유지하는 방법은 크게 HttpSession이용하는 방법과 쿠키를 이용하는 방법이 있다.

4. 비밀번호 변경 기능 구현

5. 인터셉터 사용하기

preHandle() 메서드는  컨트롤러(핸들러) 객체를 실행하기 전에 필요한 기능을 구현할 대 사용한다.

6. 컨트롤러에서 쿠키 사용하기

 

반응형
반응형

11. MVC 1: 요청 매핑, 커맨드 객체, 리다이렉트, 폼 태그 , 모델 

1. 프로젝트 준비

2. 요청 매핑 애노테이션을 이용한 경로 매핑

3 .get과 post구분:

@GetMapping =>get방식

@PostMapping  => post방식

4. 요청 파라미터 접근

5. 리다이렉트 처리

redirect:경로

6. 커맨드 객체를 이용해서 요청 파라미터 사용하기

7. 뷰 jsp코드에서 커맨드 객체 사용하기

8.@ModelAttribute 애노테이션으로 커맨드 객체 속성 이름 변경

9. 커맨드 객체와 스프링 폼 연동

10. 컨트롤러 구현 없는 경로 매핑

11. 주요 에러 발생 현황

12. 커멘드 객체 : 중첩 콜렉션 프로퍼티

13. Model을 통해 컨트롤러에서 뷰에 데이터 전달하기

14. 주요 폼 태그 설명

 

12. MVC 2: 메시지, 커맨드 객체 검증

1. 프로젝트 준비

2. <spring:message>태그로 메시지 출력하기

3. 커맨드 객체의 값 검증과 에러 메시지 처리

4. 글로벌 범위 Validator와 컨트롤러 범위 Validator

5. Bean Validation을 이용한 값 검증 처리

 

반응형
반응형

출처 : Spring 5프로그래밍 입문

 

09.스프링 MVC시작하기 

war: web application archive

1. 프로젝트 생성

2. 이클립스 톰캣 설정

3. 스프링 MVC를 위한 설정

3.1 스프링 MVC설정

3.2 web.xml파일에 DispatcherServlet설정 =>웹 요청

4. 코드구현

4.1 컨트롤러 구현

4.2 jsp구현

5. 실행하기

 

 

코드 구현 

 

10. 스프링 MVC 프레임워크 동작 방식

1. 스프링 mvc핵심 구성 요소

1.1 컨트롤러와 핸들러

2. DispatcherServlet과 스프링 컨테이너

3. @Controller를 위한 HandlerMapping과 HandlerAdapter

4. WebMvcConfigurer인터페이스와 설정

5. JSP를 위한 ViewResolver

6. 디폴트 핸들러와 HandlerMapping의 우선순위

7. 직접 설정 예

 

반응형
반응형

출처 : Spring 5프로그래밍 입문

AOP프로그래밍(Aspect Oriented Programming)

 

1.프로젝트 준비

pom.xml aspectjweaver의존

spring-aop

spring-context

2.프록시와 aop

프록시: 핵심 기능의 실행은 다른 객체에 위임하고 부가적인 기능을 제공하는 객체를 프록시라고 부른다.

실제 핵심 기능을 실행하는 객체는 대상 객체라고 부른다.

프록시는 접근 제어 관점에 초점이 맞춰져 있다면 , 데코레이더는 기능 추가와 확장에 초점이 맞춰져있기 때문이다.

2.1 aop

AOP는 (Aspect Oriented Programming)의 약자로 , 여러 객체에 공통으로 적용할 수 있는 기능을 분리해서 재사용성을 높여주는 프로그래밍 기법이다.

 

3.스프링 AOP구현

 

4. 프록시 생성 방식

 

08. DB연동

1.JDBC 프로그래밍의 단점을 보완하는 스프링

 

2.프로젝트 준비

커넥션 풀은 일정 개수의 DB커넥션을 미리 만들어두는 기법이다.

 

3.DataSource설정

maxActive는 활성 상태가 가능한 최대 커넥션 개수를 지정한다.

 

4.jdbcTemplate을 이용한 쿼리 실행

 

5.MemberDao테스트 하기

 

6.스프링의 익셉션 변환 처리

 

7.트랜잭션 처리

 

8. 전체 기능 연동한 코드 실행

 

반응형
반응형

출처 : Spring 5프로그래밍 입문

컴포넌트 스캔은 스프링이 직접 클래스를 검색해서 빈으로 등록해주는 기능이다.

 

1.@Component 애노테이션으로 스캔 대상 지정

스프링이 검색해서 빈으로 등록할수 았으려면 클래스에 @Component 애노테이션을 붙여야 한다.

2.@ComponentScan 애노테이션으로 스캔 설정

@ComponentScan에노테이션의 basePackages속성값은 ["spring"]입니다.

 

3. 예제 실행 

4. 스캔 대상에서 제외하거나 포함하기

excludeFilters 속성을 사용하면 스캔할 때 특정 대상을 자동 등록 대상에서 제외할 수 있다.

 

5.컴포넌트 스캔에 따른 충돌 처리

 

06.  빈 라이프사이클과 범위

1. 컨테이너 초기화와 종료

AnnotationConfigApplicationContext의 생성자를 이용해서 컨텍스트 객체를 생성

컨테이너를 사용한다는 것은 getBean()

컨테이너 종료close()

 

2.스프링 빈 객체의 랑프사이클

객체 생성-> 의존 설정 ->초기화 -> 소멸

3. 빈객체의 생성과 관리 범위

한개 객체만 존제 - singleton

 

반응형
반응형

출처 : Spring 5프로그래밍 입문

1. 예제 프로젝트 준비

2.@Autowired애노테이션을 이용한 의존 자동 주입

2.1 일치하는 빈이 없는 경우

에러가 난다. 이름을 확인 해서 한다.

3.@Qualifier애노테이션을 이용한 의존 객체 선택

@Qualifier 자동 주입 대상 빈을 한정할 수 있다.

3.1 빈 이름과 기본 한정자

4. 상위 /하위 타입 관계와 자동 주입

5.@Autowired애노테이션의 필수 여부

5.1 생성자 초기화와 필수 여부 지정 방식 동작 이해 

6. 자동 주입과 명시적 의존 주입간의 관계

 

반응형

' > Spring 5프로그래밍 입문' 카테고리의 다른 글

07 . AOP프로그래밍 08.DB연동  (0) 2020.09.24
05. 컴포넌트 스캔 06. 빈 라이프사이클과 범위  (0) 2020.09.22
03. 스피링 DI  (0) 2020.09.19
02. 스프링 시작하기  (0) 2020.09.18
01.들어가며  (0) 2020.09.17

+ Recent posts