22-08-16 JavaSpring 환경설정
- 자료 위치
-https://m.blog.naver.com/fjqm1277/222851625529?referrerCode=1
[DAY0818] Spring 실습 환경 구성 및 설정
https://www.egovframe.go.kr/home/ntt/nttRead.do?pagerOffset=0&searchKey=&sear...
blog.naver.com
표준프레임워크 개발자 교육 교재 및 실습 for Win (V3.10.0) | 교육자료 | 표준프레임워크 포털 eGovFrame
-> eGovFrame-3.10.0-win-64bit.exe 파일 다운로드
-> 전자정부 프레임워크로 다운로드 파일 압축 풀기 경로는 C:\ 고정
-> eGovframe.edu.exe 파일 실행
-> 실행 후 Servers를 제외한 모든 파일 삭제
-> 자동으로 설치되어있는 Tomcat 포트번호 변환
Previous imageNext image
Project Explorer -> 오른쪽 마우스 -> New -> other
Spring 검색
src/main/java : 작성되는 코드의 경로
src/main/resource : 실행할 때 참고하는 기본경로 (주로 설정파일을 넣음)
src/test/java : 테스트 코드를 넣는 경로
src/test/resource : 테스트 관련 설정 파일 보관 경로
servlet-context.xml : 웹과 관련된 스프링 설정 파일
root-context.xml : 스프링 설정 파일
view : 템플릿 프로젝트의 jsp파일 경로
web.xml : Tomcat의 web.xml 파일
pom.xml : Maven이 사용하는 pom.xml
pom.xml
<org.springframework-version> 4.3.14.RELEASE </org.springframework-version> 로 변경
141, 142번째 줄의
1.8
1.8
로 변경
프로젝트 우클릭 -> Maven -> Update Project 실행
JavaSE-1.8로 변경된 것을 확인
https://projectlombok.org/download
[Download
Download 1.18.24 changelog older versions Feeling adventurous? Download the latest snapshot release.
projectlombok.org](https://projectlombok.org/download)
Previous imageNext image
Specify location 클릭하여 해당 이클립스 파일 추가
pom.xml에 추가
<BoardController.java>
package com.smhrd.web;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.RequestDispatcher;
import javax.servlet.http.HttpServletRequest;
import org.omg.CORBA.Request;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import com.smhrd.domain.Board;
// 어노테이션을 사용해서 이 파일이 Controller인것을 알려줘야함
@Controller
public class BoardController {
// boardWrite.do --> 게시글 작성
// boardList.do --> 게시글 목록 가져오기
// 메서드 하나하나가 servlet이라고 생각하면 된다. 메서드가 실행 -> 기능
// RequestMapping() : servlet의 URL Mapping
@RequestMapping("/boardList.do")
public String boardList(HttpServletRequest request) {
// 필요한 객체를 매개변수에 집어 넣으면 Spring이 알아서 채워줌
// 게시글 목록을 가지고 이동
// 번호, 제목 , 작성자 ,내용 , 작성일, 조회수
List<Board> list = new ArrayList<Board>();
list.add(new Board(1, "스프링게시판", "관리자", "스프링", "22-08-18", 0));
list.add(new Board(2, "스프링게시판", "함혜지", "스프링2", "22-08-18", 2));
// request영역에 list 저장
request.setAttribute("list", list);
// forward 이동
// ViewResolver라는 친구가 완전한 경로로 바꿔줌
// View(JSP)의 이름만 리턴
return "boardList";
/*
* String view = "WEB-INF/views/boardList.jsp"; RequestDispatcher rd =
* request.getRequestDispatcher(view); rd.forward(request,response);
*/
}
}
return에서 파일 명만 써줘도 이동이 가능한 이유
<Board.java> - class 파일
DTO
package com.smhrd.domain;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@NoArgsConstructor // 기본 생성자
@Data //Getter&Setter
@AllArgsConstructor // 모든 필드를 초기화하는 생성자
public class Board {
// 1. 테이블 컬럼명 == DTO의 필드 변수명
// 2. 기본생성자가 반드시 있어야함
// 글번호, 제목, 작성자, 내용, 작성일 , 조회수
private int idx;
private String title;
private String Writer;
private String content;
private String indate;
private int count;
}
Lombok 라이브러리에서 제공하는 어노테이션
@Data : getter & setter
@Getter
@Setter
@NoArgsConstructor : 어노테이션은 파라미터가 없는 기본 생성자를 생성
@AllArgsConstructor : 어노테이션은 모든 필드 값을 파라미터로 받는 생성자를 생성
@RequiredArgsConstructor : 어노테이션은 final이나 @NonNull인 필드 값만 파라미터로 받는 생성자를 생성