본문 바로가기

서버/Spring
(13)
[스프링(Spring)] MVC 데이터 수신 및 전송 - 스프링 데이터 받아오기 데이터 전송 - input 태그의 name과 매개변수 명을 일치시키면 바로 값을 받아올 수 있다. - model.addAttribute("데이터명", 데이터) 를 통해 값을 넘겨줄 수 있다. - @ModelAttribute("데이터명") 을 매개변수로 받아온 데이터 앞에 붙이면 model.addAttribute("데이터명", 데이터)를 생략할 수 있다. package com.test.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation..
[스프링(Spring)] AOP // AOP, Aspect Oriented Programming - 관점 지향 프로그래밍 - 관점, 관심사 > 코드를 작성하는 데 필요한 주업무가 아닌, 나머지 신경써야할 보조 업무 - 핵심 업무는 아니지만, 코드를 완성하기 위해서 필요한 나머지 업무들 - Concern > 관심사, 관점 - 공통 기능을 핵심 기능과 분리해 두고, 적용하고자 하는 부분에 적용하는 것 - 스프링에서 AOP 구현 방법: proxy 이용 ex ) [게시판 글쓰기] 1. 기존 방식 - Add.do a. 글쓰기 : 주업무 b. 권한 체크 : 보조업무 - 주업무와 보조업무를 같은 곳에서 구현(한 파일에서 구현) 2. AOP 방식 - Add.do - 주업무와 보조업무를 분리시켜서 따로 구현하자 > AOP 목적 - 스프링을 통해서 주업..
[스프링(Spring)] JUnit // JUnit - 단위 테스트 도구 package com.test.di04; public interface BoardDAO { void list(); } package com.test.di04; public class BoardDAOImpl implements BoardDAO{ @Override public void list() { System.out.println("select * from tblBoard"); } } package com.test.di04; public interface BoardService { void list(); } package com.test.di04; public class BoardServiceImpl implements BoardService { private Boa..
[스프링(Spring)] DI, IoC // IoC, Inversion of Control - 역제어 - 제어의 권한이 프레임워크에 있다. - 싱글톤으로 bean을 관리하는 일종의 Container - 객체 생성 순서 1. 기존 방식 ~ BoardController > BoardService > BoardDAO 2. 의존 주입 ~ BoardDAO > BoardService > BoardController :: IoC // DI, Dependency Injection - DI : 디자인 패턴 - 스프링 기술 (X) - 의존(성) 주입 - 인스턴스 생성 시 IoC Container에서 싱글톤으로 관리하는 bean들을 변수에 의존성 주입! > 어디에서 호출하여 사용하든 모두 같다(싱글톤) - 스프링에서 중요한 개념 > 스프링의 모든 객체 관리에 사..
[스프링(Spring)] 환경설정 // 프레임워크, Framework - 특정한 목적에 맞게 프로그래밍을 쉽게 하기 위한 약속 // Spring Framework(틀) - http://spring.io - Spring 1.0 ~ 6.0 - Spring 3.XX ~ 5.XX - 자바 플랫폼을 위한 오픈 소스 애플리케이션 프레임워크 - 콘솔 프로그램 or 응용 프로그램 or 웹 응용프로그램 > 대부분 웹 응용 프로그램 - Servlet/JSP 버전업! - 전자 정부 표준 프레임워크로 채택 > Spring 기반 > 공공기관 프로젝트 or 대기업 // 스프링 프레임워크 구성 요소(주요 기술) 1. POJO 기반 2. 의존성 주입 지원(DI) 3. 관점 지향 프로그래밍 지원(AOP) 4. Spring MVC 5. 레이아웃 지원(Tiles) 6. ..