본문 바로가기

spring

(14)
Spring Framework 개발 순서, 어노테이션 Spring Framework 개발 순서 1. SQL Table 작성 어떤 데이터를 어떻게 저장하고 관리할지 목록 작성 및 데이터 크기 관리 결정한다. 2. DTO 작성 테이블 내에 들어갈 데이터들이 들어갈 개체 생성 및 프론트에서 이용할 데이터들 목록 생성한다 3. DAO, Service, SQL 구문 작성 데이터 검색을 위한 SQL구문을 작성한다. SQL을 만들고 나서 그 과정을 DAO와 변수 이름을 맞춰 작성한다. 4. Controller 작성 어떤 DTO를 넘겨주고 데이터 송신 방식을 get, post, delete 등으로 할지 결정한다 백엔드에서는 프론트 단에서 화면을 만들기 전까지 제대로 SQL 구문이 가는지 Postman 등을 이용해서 화면단으로 넘어가는 데이터 전송을 테스트한다. 5. js..
spring 기본 개념 Spring Framework 개발 준비 JDK (Java Development Kit) 설치 Eclipse 설치 및 프로젝트 생성 Tomcat 설치 및 연동 오라클 데이터베이스 / SQL Developer 설치 및 설정 스프링 프로젝트 생성 및 라이브러리 추가 MyBatis / mybatis-spring 설정 스프링 MVC 개발 설정 JDK (Java Development Kit) Java 환경에서 돌아가는 프로그램을 개발하는 데 필요한 툴들을 모아놓은 소프트웨어 패키지이다. JRE(Java Runtime Environment)와 Java 바이트코드 컴파일러, Java 디버거 등을 포함하는 개발 도구들로 이루어져 있다. MyBatis 마이바티스(MyBatis)는 자바 퍼시스턴스 프레임워크의 하나로 XM..
Step03_MyBatis (aspect) AuthAspect.java package com.gura.step03.aspect; import java.net.URLEncoder; import javax.servlet.http.HttpServletRequest; import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.Around; import org.aspectj.lang.annotation.Aspect; import org.springframework.stereotype.Component; import org.springframework.web.servlet.ModelAndView; /* * -Aspectj Expression * * 1. execution(*..
Step03_MyBatis (typeAliases) Configuration typeAliases를 사용해서 자주 사용하는 type 의 별칭을 등록해 놓고 Mapper xml에서 사용할 수 있다. 기존 MemberMapper.xml INSERT INTO member (num, name, addr) VALUES(member_seq.NEXTVAL, #{name}, #{addr}) UPDATE member SET name=#{name}, addr=#{addr} WHERE num=#{num} DELETE FROM member WHERE num=#{num} SELECT num, name, addr FROM member WHERE num=#{num} SELECT num, name, addr FROM member ORDER BY num ASC 변경된 MemberMap..
스프링 프레임 워크 개념 정리 스프링 프레임 워크의 3대 핵심 개념 1. DI ( Dependency Injection ) 필요한 핵심 의존 객체를 주입 받아서 사용하는 구조 2. IOC ( Invesion Of Controll ) 제어의 역전 객체의 생성과 조립(DI 등등) 관리를 스프링이 실행될때 알아서 동작하는 구조 3. AOP ( Aspect Oriented Programming ) 관점 지향 프로그래밍 핵심 비지니스 로직과는 상관없는 횡단관심사를 따로 작성해 놓고 원하는 위치에 따로 작성된 로직을 설정해서 적용시키는 구조이다. 주로 로그 기록이나, 테스트, 인증(auth) 등의 작업을 할때 사용한다. 예를 들어 다수의 메소드에 핵심 비지니스 로직과는 상관없는 작업을 할때 해당 작업을 따로 만들어 놓고 특정 메소드의 설정 만으..
Step03_MyBatis ( @service ) 컨트롤러에 대한 이해 컨트롤러에서는 dao 를 이용한 비즈니스 로직 혹은 복잡한 비즈니스 로직 처리는 하지 않는게 원칙이다. - 컨트롤러에서 dao 에 의존하고 있다는 것은 바람직한 구조가 아니다. dao 를 활용한 비즈니스 로직처리를 서비스 객체를 이용해서 처리 해야한다. 컨트롤러도 dao 에 의존하지 말고 서비스에 의존하도록 해야 한다. 컨트롤러에서는 클라이언트의 어떤 경로 요청에 대해서 어떤 서비스로 비즈니스 로직을 처리하고 어디로 어떻게 이동해서 응답해야 할지에 대한 작업만 하면 된다. MemberService.java package com.gura.step03.member.service; import org.springframework.web.servlet.ModelAndView; import ..
Step03_MyBatis (ModelAndView, redirect) ModelAndView, redirect 를 설명하기 위하여 기존 MemberController의 @Controller를 해제하고 MemberController2를 만들어 ModelAndView, redirect를 사용하여 코드를 재구성하였다. 기존 MemberController - 상단 @Controller 제거 package com.gura.step03.member.controller; import java.util.List; import javax.servlet.http.HttpServletRequest; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controll..
Step03_todo list 만들기 1. 패키지 미리 만들기 .todo.dto .todo.dao .todo.controller 2. 클래스, 인터페이스 만들기 TodoDto TodoDao, TodoDaoImpl TodoController 3. TodoMapper.xml Configuration.xml 문서에 TodoMapper.xml 사용할 준비하기 4. /views/todo/ 폴더를 만들고 해당 폴더 안에 list.jsp insertform.jsp insert.jsp delete.jsp updateform.jsp update.jsp 5. 처리할 요청 /todo/list.do, /todo/insertform.do, /todo/insert.do, /todo/delete.do, /todo/updateform.do, /todo/update.do