Programming

Programming/Spring

[Spring] Tiles: 레이아웃 프레임워크

🌿Tiles 페이지를 만들다 보면 공통적으로 생기는 디자인적인 뼈대가 있다. Tiles는 이때 사용할 수 있는 레이아웃 프레임워크이다. 이전에는 레이아웃을 로 페이지를 최대한 분리시켜서 반복되는 디자인 요소를 구성했다. 레이아웃을 서포트하는 프레임워크를 사용하면 조직적이고 대규모적인 작업을 할 수 있다. Tiles는 include를 대신하여 페이지의 레이아웃을 구성하고 관리하는 기술이다. 구현 기능 메인(index.do) 회원 회원정보(member/info.do) 활동내역(member/history.do) 즐겨찾기(member/favorite.do) 관리자 로그(admin/log.do) 환경설정(admin/setting.do) 🌿Tiles를 사용하지 않고 레이아웃 구현 파일 생성 com.test.comt..

Programming/Spring

[Spring] 코드 조각 관리 게시판

🌿코드 조각 관리 게시판 코드 조각 관리 게시판을 구현해 보도록 하자. 파일 생성 com.test.controller CodeController.java com.test.persistence CodeDAO.java (I) CodeDAOImpl.java (C) com.test.domain CodeDTO.java views list.jsp views.jsp add.jsp src/main/resources > mapper code.xml 기본 작업 1. 프로젝트 설정 2. CodeDTO 태그 name 추가 3. CodeDAOImpl과 CodeDAO implements 설정 4. CodeDAOImpl이 bean이 되도록 @Repository 붙임 @Autowired private CodeDAO dao; //pu..

Programming/Spring

[Spring] MyBatis: 반환값과 매개변수에 따라 달라지는 쿼리

🌿쿼리 경우의 수 1. 반환값(X), 매개변수(X) 2. 반환값(X), 매개변수(O) 3. 반환값(O), 매개변수(X) 반환값: 단일값 반환값: 레코드 1줄 반환값: 레코드 N줄 4. 반환값(O), 매개변수(O) 반환값: 단일값 반환값: 레코드 1줄 반환값: 레코드 N줄 [Spring] MyBatis: Connection Pool (Commons DBCP, HikariCP) 🌿MyBatis 영속성 계층 (데이터베이스 조작 계층) Mybatis는 자바 오브젝트와 SQL사이의 자동 매핑 기능을 지원하는 ORM(Object relational Mapping) 프레임워크이다. MyBatis는 Spring 기술이 아닌 독립적인 기술 isaac-christian.tistory.com 이전 MyBatis 글에서 이어..

Programming/Spring

[Spring] MyBatis: Connection Pool (Commons DBCP, HikariCP)

🌿MyBatis 영속성 계층 (데이터베이스 조작 계층) Mybatis는 자바 오브젝트와 SQL사이의 자동 매핑 기능을 지원하는 ORM(Object relational Mapping) 프레임워크이다. MyBatis는 Spring 기술이 아닌 독립적인 기술이지만, Spring에서 도입을 해서 사용할 수 있도록 연동되어 있다. MyBatis는 SQL을 별도의 파일을 분리해서 관리하게 하며, 응용프로그램과 데이터베이스를 연결하는 JDBC 같은 역할을 한다. 단, SQL을 그대로 사용할 수 있다는 점에서 JDBC을 사용할 때의 불편함을 해결했다. [JDBC] JDBC란? (Java Database Connectivity) 🍁JDBC JDBC는 자바 프로그램과 데이터베이스(오라클)를 연결시켜 주는 자바 API(응용..

Programming/Spring

[Spring] 요청 메서드의 반환 자료형

요청 메서드의 반환 자료형은 String의 빈도가 가장 높고, 다음으로 3번의 redirect, 5번의 사용 빈도가 높다. 요청과 응답은 어떤 업무든 연관이 되어 있기 때문에 이에 대한 정리가 필요하다. 🌿String //- JSP 파일명 //- ViewResolver 호출 @GetMapping(value="/ex06.do") public String test() { return "ex06"; } 문자열은 ViewResolver를 호출하면서 JSP 파일 이름을 나타내는 용도로 사용했다. 🌿void @GetMapping(value="/ex06.do") public void test() { } 서블릿에서 jsp를 호출을 안 하는 것과 같다. 그러면 브라우저에서 하얀 화면이 나와야 한다. 그런데 화면이 출력된..

Programming/Spring

[Spring] 컨트롤러 구현: 어노테이션 (Controller, RequestMapping, GetMapping, PostMapping, RequestParam, ModelAttribute)

🌿컨트롤러 구현 1. Controller 인터페이스 구현 2. @Controller 어노테이션 사용 어노테이션을 사용하는 방식이 편의성이 좋기 때문에 더 많이 사용한다. 🍃@Controller 어노테이션 사용 @Controller public class Ex03Controller { } 어노테이션을 사용하는 순간 인터페이스를 선언하는 것과 결과가 같다. handleRequest는 만들고 싶어서 만들었던 게 아니라 Controller 인터페이스가 만들라고 했기 때문에 만든 것이었다. 하지만 어노테이션을 사용하면 강제로 만들어야 하는 게 없다. 자유로운 요청 형식 @Controller public class Ex03Controller { public String test() { return ""; } pub..

Programming/Spring

[Spring] Spring 기반 MVC 웹 프로젝트 구현

Spring은 Controller, View 등을 사용하기 편하도록 MVC 패턴을 모두 구현을 해 두었다. Servlet/JSP에서는 웹 요청 처리와 통제를 Controller 역할로 지정해 주었지만, Spring MVC에서는 Controller라는 이름이 전용으로 있으므로 이를 사용한다. 🌿Controller Ex01Controller.java: jsp 연결 package com.test.spring.controller; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.web.servlet.ModelAndView; import org.sp..

Programming/Spring

[Spring] 관점 지향 프로그래밍 AOP: Aspect Oriented Programming

🌿Spring AOP Aspect Oriented Programming 관점 지향 프로그래밍(AOP)은 애플리케이션의 핵심 비즈니스 로직에서 분리된 관심사(Concern)를 모듈화 하여 코드의 가독성과 유지보수성을 향상하는 기술이다. 관점(관심사)은 업무 구현 시 주 업무가 아닌 나머지 보조 업무를 의미한다. 주 업무와 보조 업무 게시판 글쓰기를 예로 들어 주 업무와 보조 업무를 구분해 보도록 하자. 1. 기존 방식 - add.do a. 글쓰기 (주 업무) b. 권한 체크 (보조 업무) 기존 방식은 주 업무와 보조 업무를 같은 곳(한 파일)에서 구현한다. 단점: 코드 관리가 불편하다. 어디부터 어디까지가 주 업무이고 보조 업무인지 알기 어렵다. 2. AOP 방식 - add.do 주 업무와 보조 업무를 물..

Isaac-Christian
'Programming' 카테고리의 글 목록 (11 Page)