Dev/Spring 25

[Spring] @Valid, @Validated 활용

@Valid 어노테이션을 활용한 유효성 검사 로직을 리팩토링 하면서 공부해보았다. 기존 소스도 파라미터 체크 로직을 이걸로 수정해서 반영해놓았다. 뿌듯하다 ㅎㅎ. 파볼수록 흥미로운 게 많아 정리한다. documents 읽기를 생활화하자! 1. Validator란? 스프링에서 도메인 객체를 검증할 수 있도록 제공하는 인터페이스. - Controller로 HTTP 요청을 @ModelAttribute 모델에 바인딩할 때 주로 사용된다. - Validator 인터페이스는 supports()와 validate() 메서드로 구성되어 있다. supports()는 이 검증기가 검증할 수 있는 오브젝트 타입인지 확인해주는 메서드, 이 메서드를 통과한 경우에만 validate()가 호출된다. validate()는 매개변수..

Dev/Spring 2020.07.15

[Spring] EHCache

DB에서 조회하는 데 소요되는 리소스를 줄이고 이중화된 서버 간 분산 캐시된 내용을 공유 위해 EHCache를 사용했다. 관련 내용을 공부하고자 정리한다! Ehcache EHCache는 Spring Cache의 대표격으로 오픈 소스 기반의 Local Cache이다. Java 제네릭을 활용하고 캐시 상호 작용을 단순화하는 개선 된 API javax.cache API (JSR-107)와의 완벽한 호환성 (스프링 캐싱 및 최대 절전 모드 통합) 오프 힙 전용 캐시를 포함한 오프 힙 스토리지 기능 Disk, Memory 저장이 가능한 형태 MAVEN Dependency org.ehcache ehcache 3.8.1 XML configuration heap과 같은 환경 설정을 xml로 진행해도 되고 자바 코드로 ..

Dev/Spring 2020.05.06

[Spring] Annotation 간략 정리

프로젝트를 진행하면서 스프링에서 다양한 어노테이션이 존재함을 알게 되었다! 간략하게 파악하는 차원에서 틈틈이 정리를 해보았다. 여러 책과 블로그들을 참고하였다. 1. @RestController ○ @Controller + @Responsebody ○ Return 되는 값은 View page를 통해 출력되는 게 아니라 Http Responsebody에 직접 쓰인다. ○ 즉, 객체(VO, DTO)를 반환하면 객체는 application/json 형식의 Responsebody에 직접 작성. ○ 클라이언트에 전달되는 데이터는 대부분 문자열이거나 VO나 컬렉션 형태의 자바 객체 ○ 자바 객체로 Response 전달 시, 자동으로 JSON으로 변환하여 처리함. 2. @Autowired ○ Setter 또는 생정자..

Dev/Spring 2019.12.11

Spring3.0 - Spring WEB MVC

Spring WEB MVC1. 프로젝트 생성2. home.jsp (메인으로 사용할 페이지)HomeSpring MVC Custom View Demo1. Simple Custom View 2. PDF View 3. Excel View 4. File Upload5. File Download 출력 페이지 (home.jsp)클래스로 뷰를 만드는 방법3. HomeController.classpackage com.exe.springwebview;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotat..

Dev/Spring 2019.04.19

Spring3.0 - MVC web & MyBatis

기존에 JDBC로 구현한 게시판을 Spring ORM(Mybatis)를 이용하여 만들어보자 Spring Web MVC + MyBatis 1. SpringWebMybatis 프로젝트 생성(기존 JDBC 게시판 프로젝트를 복사하여 생성) -properties에서 context root 수정 - 라이브러리 설치 - pom.xml 작성 org.mybatis mybatis 3.4.2 org.mybatis mybatis-spring 1.3.1 - 설치된 라이브러리 물리적 파일 확인 3. servlet-context.xml 제어의역전 구조 boardDAO2 > Session Template > SQL Session Factory Bean > dataSource 4. myBatis-config.xml 작성 5. boa..

Dev/Spring 2019.04.18

Spring3.0 - MVC web & JDBC 게시판만들기

JDBC 와 Spring JDBC 모두 실습해보자. 게시판 만들기 - Spring mvc , Spring dao(JDBC) , Spring orm(mybatis) 1 .Spring Legacy Project 생성 (Spring MVC Project) 프로젝트의 규모가 커지면 DTO, DAO 를 다 별도의 패키지에 관리한다.2. dto 생성package com.jdbc.dto;public class BoardDTO {private int num;private String name,pwd,email,subject,content,ipAddr,created;private int hitCount;public int getNum() {return num;}public void setNum(int num) {this..

Dev/Spring 2019.04.18

Spring3.0 - AOP

OOP(Object Oriented Programming : 객체지향프로그래밍) 객체지향 프로그래밍이란 인간 중심적 프로그래밍 패러다임. 현실 세계의 사물들을 객체라고 보고 그 객체로부터 개발하고자 하는 애플리케이션에 필요한 특징들을 뽑아와 프로그래밍 하는 것이다. 이것을 추상화라한다. OOP 로 코드를 작성하면 이미 작성한 코드에 대한 재사용성이 높다. AOP(Aspect Oriented Programming : 관점지향프로그래밍) 문제를 바라보는 관점을 기준으로 프로그래밍하는 기법. 문제를 해결하기 위한 핵심 관점 사항과 전체에 적용되는 공통 관심사항을 기준으로 프로그래밍 함으로써 공통 모듈을 여러코드에 쉽게 적용할 수 있도록 도와준다. 불특정 다수의 객체(클래스,메소드)에 코드를 탈착할 수 있게 만..

Dev/Spring 2019.04.17

Spring3.0 - ORM(MyBatis)

Spring ORM 모듈을 사용해보자 1. Spring Legacy Project 생성 JDBC를 사용하기 위한 필수 라이브러리 Mybatis 설치를 위해서 MavenRepository 확인- MyBatis - pom.xml 반영 org.mybatis mybatis 3.4.2 - MyBatis Spring- pom.xml 반영 org.mybatis mybatis-spring 1.3.2 설치된 물리적 파일 확인2. app-context.xml 작성제어의역전 구조 customDAO > Session Template > SQL Session Factory Bean > dataSourceExample configuration to get you started.3. myBatis-config.xml 생성경로를 작..

Dev/Spring 2019.04.17

Spring3.0 - DAO(JDBC)

스프링에서 데이터베이스를 사용하는 방법 - POJO program + JDBC DB를 사용하는 방법은 두가지 Spring ORM(myBatis) 와 Spring DAO 를 활용하는 것.우리는 지금까지 spring core를 기반으로 spring web 모듈을 사용한 것. 1. spring Legacy Project 생성 - SpringJdbcTemplate자바 콘솔 프로그램으로 진행할것이므로 유틸리티 프로젝트 2. DB 접속하여 테이블 생성 CREATE TABLE CUSTOM(ID NUMBER,NAME CHAR(10),AGE NUMBER);Maven을 통한 라이브러리 설치Maven을 설치하는 방법은 여러가지. Maven에 저장소 존재. 독립된 프로그램을 만들때 lib파일을 구해야 함. 그런데 버전에 따른..

Dev/Spring 2019.04.16

Spring3.0 MVC 예제(2)

MVC 예제4 - DTO 전송 DTO를 만들어두고나면 Form에서 입력한 데이터가 스프링에서 자동으로 DTO에 들어가게 된다. 단, DTO의 변수명과 Form안에 변수명이 일치해야만 매핑이 된다. 1. DTO클래스 생성(Model) package com.exe.springmvc; public class PersonDTO { private String name; private String phone; private String email; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPhone() { return phone; } public void ..

Dev/Spring 2019.04.16
반응형