spring 14

[Spring] @Valid, @Validated 활용

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

Dev/Spring 2020.07.15

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 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

Spring3.0 MVC 예제(1)

Spring MVC 실습을 위해 서버 셋팅 1. create a new server 2. Define a New Server ① 톰캣 7.0.92 버전을 설치했으므로 맞추어 생성한다 ② browse하여 아파치 톰캣 서버 파일을 설치해놓은 폴더로 설정 후 생성 ③ Finish 3. 프로젝트 생성 (Spring Legacy Project - 템플릿 Spring MVC Project) 자바 패키지명 설정 참고 : 라이브러리 설치가 제대로 안될경우 메이븐 이용 프로젝트 마우스 우클릭 > Maven > Update Project Spring MVC 프로젝트 구성 기존 자바로 다이나믹 웹 프로젝트를 만들 때 WebContent > WEB-INF 디렉토리가 존재 (WebContent는 일반사용자 접근가능) WEB-I..

Dev/Spring 2019.04.15

Spring3.0 - 제어의역전,의존성주입 복습

IoC & DI 기존 포스팅 Spring2.5 - 제어의역전,의존성주입 예제 - https://wiper2019.tistory.com/123 예제1 - 의존성문제란? 의존 : 변경에 의해 영향을 받는 관계. Message 클래스의 변경에 따라 MessageCall클래스는 영향을 받는다. 이렇게 변경에 따른 영향이 전파되는 관계를 의존한다라고 표현. 1. Message 클래스 package com.exe.springdi1; public class Message { public void sayHello(String name) { System.out.println(name+" 반갑습니다!"); } } 2. MessageCall 클래스 package com.exe.springdi1; public class Me..

Dev/Spring 2019.04.15

Spring 3.0 셋팅

Help > Eclipse Marketplace > Spring IDE설치를 진행해도 동일함 1. STS3.9.8 - 윈도우 버전 설치 ( 폴더 압축 풀기) - https://spring.io/tools3 2. 톰캣 설치 3. 톰캣 설치-conf > server.xml 한글인코딩을 위해 입력 URIEncoding="UTF-8" 4. workspace 설정 5. 폰트 설정 및 Encoding 방식 설정 6. JSP 템플릿 설정 7. 톰캣 서버를 사용할 것이므로 pivotal Server 삭제 스프링은 자바프로그램(POJO) / 웹 프로그램을 만들 수 있다. 실습예정 1. 기본문법 2. DB연결(JDBC, MyBatis, Spring의 JDBC) 3. WEB 4. 웹에서도 JDBC, MyBatis, Spri..

Dev/Spring 2019.04.15

Spring2.5 - Annotation

Annotation 스프링을 사용하는 가장 큰 이유 중 하나. 코딩을 단순화 시키는 작업. 객체 생성이 단순해짐 1. Command 클래스 생성 2. JSP페이지 생성 - created.jsp, result.jsp 3. 어노테이션을 사용을 위해 정의 - dispatcher servlet 4. Controller 클래스 생성. 컨트롤러는 클래스이기 때문에 객체를 생성해야 사용이 가능. 어노테이션을 쓸 경우 디스팻처 서블릿에서 작성했던 bean객체를 할 필요가 없어짐 1. Command 클래스 생성 package com.anno; public class TestCommand {//DTO private String userId; private String userName; private String mode;..

Dev/Spring 2019.04.08

Spring2.5 MVC - Exception & SimpleFormController

Exception처리는 웹에서도 구현이 가능하다. & SimpleFormController 를 이용하여 MVC 패턴을 실습해보자 1.command 클래스 생성 2.Exception 클래스 3. Authenticator 인터페이스 생성 4. Authenticator 를 구현한 클래스 생성 5. Controller 생성 6. View생성 7. FrontController 설정 참고 ★ SimpleFormController GET 요청이 들어오면 showForm() 메소드를 호출하여 입력 폼 출력을 위한 ModelAndView 객체를 리턴. POST 요청이 들어 오면 입력 폼 검증을 위한 onSubmit() 메소드를 호출하여 클라이언트의 요청을 처리. 1. Command 클래스 생성 package com.te..

Dev/Spring 2019.04.05
반응형