[토비의 스프링] 오브젝트와 의존관계 - 초난감 DAO
·
Server/Spring&Spring Boot
1. 초난감 DAO DAO(Data Access Object) DB를 사용하여 데이터를 조회하거나 조작하는 기능을 전담하도록 만든 오브젝트 1-1. User package tobi01.conangam.user.domain; public class User { String id; String name; String password; public String getId() { return id; } public String getName() { return name; } public String getPassword() { return password; } public void setId(String id) { this.id = id; } public void setName(String name) { thi..
[토비의 스프링] 스프링이란?
·
Server/Spring&Spring Boot
스프링이란? 자바 엔터프라이즈 애플리케이션 개발에 사용되는 애플리케이션 프레임워크 Java Virtual Machine에서 작동하며, 아파치 라이선스를 따르는 오픈 소스 프레임워크 스프링 컨테이너 설정 정보를 참고하여 애플리케이션을 구성하는 오브젝트를 생성하고 관리 독립적으로 동작할 수도 있지만 보통 웹 모듈에서 동작하는 서비스나 서블릿으로 등록하여 사용 Ioc/DI, 서비스 추상화, AOP IoC/DI 오브젝트의 생명 주기와 의존관계에 대한 프로그래밍 모델 객체지향 설계 원칙과 디자인 패턴의 핵심 원리를 담고 있다. 스프링이 직접 제공하는 모든 기술과 API, 컨테이너도 IoC/DI방식으로 작성됨 서비스 추상화 환경이나 서버, 특정 기술에 종속되지 않고 이식성이 뛰어난 애플리케이션을 만들 수 있도록 지..
[Spring] @PathVariable로 불러온 값을 JSP에서 사용하기
·
Server/Spring&Spring Boot
@PathVariable로 불러온 값을 JSP에서 사용하기 블로그를 만들기 위해 ID로 된 주소를 받아 Blog Page로 뿌려주기 위해 @PathVariable을 사용해 "id"를 받아오도록 했다. 블로그 메인 헤더 부분 중 로그인, 로그아웃, 내 블로그 관리 3가지의 메뉴가 존재하는데 각각의 조건은 1. 로그인의 유무 2. 해당 주소에 있는 ID와 로그인된 유저의 ID의 동일성. 1. 로그인이 되어있지 않다면 로그인 버튼이 나타난다. 2. 로그인이 되어있다면 2-1) 해당 주소가 로그인된 아이디와 일치할 때 - 내 블로그 관리, 로그아웃이 나타난다. 2-2) 해당 주소가 로그인된 아이디와 불일치할 때 - 로그아웃이 나타난다. 이 조건들을 만족하려면 세션에 저장되어 있는 ID값과 파라미터에 존재하는 I..
[Spring] 스프링 셋팅 (국비지원 최종 Ver)
·
Server/Spring&Spring Boot
개요 국비지원 교육을 받으며 배웠던 프로젝트 전 스프링 셋팅 최종 ◆ 프로젝트 생성 1. Dynamic Web Projcet 생성 Apache Tomcat v8.5 Dynamic web doule version 3.1 (4 이상 선택시 톰캣 add 불가) Build path 추가 src\main\java src\main\resources Content directory 이름 수정 webapp Generate web.xml deployment descriptor 체크 Finish 2. 프로젝트 확인 JRE System Library [JavaSe-1.8 확인] 버전이 다를 경우 Properties → Execution environment JavaSe - 1.8로 수정 Markers에서 quick fix로..
[Spring] 파라미터가 없을 때(null) @RequestParam 사용하는 법
·
Server/Spring&Spring Boot
개발을 진행하다 보면 하나의 주소로 여러 가지 기능을 해야 할 때가 발생한다. 하나의 정보를 받아올지, 여러 가지의 정보들을 받아올지, 사용자가 어떤 정보를 보내더라도 에러가 없이 시스템이 잘 작동되도록 구상해야 한다. 이러한 상황을 처음으로 마주한 것이 검색 기능을 구현할 때였다. 모든 게시물을 볼 때에는 파라미터가 존재하지 않을 것이고(null) 검색어를 입력했을 때에는 검색어를 파라미터로 넘겨줘야 하기 때문이다. 이러한 상황에서 @RequestParam을 예외처리를 하지 않고 사용하면 검색 기능을 사용하지 않는 상황에는 파라미터가 존재하지 않는다고 에러가 발생할 수밖에 없다. 해결 방법은 다음과 같다. @RequestParam( require = false )로 지정하기. 받아오는 파라미터가 key..
[Spring] Path 표현식 (CSS 경로 등)
·
Server/Spring&Spring Boot
Path 표현식을 사용해야하는 이유 CSS경로 등 사이트의 주소를 기점으로 폴더에 있는 프로그램들을 연결시켜야하는 상황들이 발생하는데 위와 같은 코드를 사용하여 연결시켜줬었다. 하지만 연결하려는 홈페이지의 주소가 변경되는 경우 모든 jsp의 경로들을 수정해야하는 상황이 발생하는데 이를 해결할 수 있는 것이 Path 표현식이다. el표기법을 활용하며 코드는 다음과 같다. ${pageContext.request.contextPath} 예제
[Spring] Mapper, Dao, Service, Controller Sequence
·
Server/Spring&Spring Boot
Sequence 스프링으로 여러 페이지를 제작하면서 작성 순서를 깔끔하게 정리하고 싶어서 작성한 순서입니다. 이미지 1. Mapper MyBatis Mapper에 쿼리를 먼저 작성합니다. 2. Dao Dao에 해당 Mapper를 사용한 메소드를 작성하고 SqlSession을 사용하여 Mapper의 쿼리와 연결합니다. 3. Service Service의 필드에는 Dao가 선언되어 있습니다. Service로 넘어가서 Dao를 연결하는 메소를 작성합니다. 4. Controller Controller의 필드에는 Service가 선언되어 있습니다. Controller로 넘어가서 해당 페이지에 대한 메소드를 작성합니다.
[Spring] 스프링, 마이 바티스(MyBatis) 세팅 정리
·
Server/Spring&Spring Boot
◆ 프로젝트 생성 1. Dynamic Web Projcet 생성 Apache Tomcat v8.5 Dynamic web doule version 3.1 (4 이상 선택시 톰캣 add 불가) Build path 추가 src\main\java src\main\resources Content directory 이름 수정 webapp Generate web.xml deployment descriptor 체크 Finish 2. 프로젝트 확인 JRE System Library [JavaSe-1.8 확인] 버전이 다를 경우 Properties → Execution environment JavaSe - 1.8로 수정 Markers에서 quick fix로 한 번 더 수정 ◆ xml 설정 1. 메이븐 프로젝트로 변경 프로..
코드플리
'Server/Spring&Spring Boot' 카테고리의 글 목록 (6 Page)