전자정부프레임워크 Spring 기초 환경 구축

최고고·2022년 4월 13일
0

프레임워크 Spring

  • 대부분 회사에서 프레임워크 툴을 가지고 개발을 하는데 기존 eclipse를 가져다가 한국에 맞춰 개발한 것 ---- 미국의 Spring 구조를 가져옴
    스프링을 배워야됨
  • 같은 툴을 이용해 개발하면 개발의 효율 높아짐
  • 툴을 다운받으면, 교육에 사용되는 프로젝트파일이 있는데, server폴더 제외 삭제하기
  • 실제에서는 eGovFrame를 선택해서 개발하지만 Spring기초부터 알아야 eGovFrame을 할 수 있기 땜에 JavaEE를 선택함. 퍼스펙티브에서 eGovFrame를 선택하면 Spring 안나옴
  • 스프링은 각종 라이브러리를 사용하기에 인터넷이 연결되어야됨
  • jdbc사용하지 않고, MyBatis DB프레임워크 사용 -->MySQL
  • frontcontroller의 구조를 가지고 있음
  • 클라이언트 - 요청 하면 frontcontroller의 서블릿 : Dispatcher Servlet
    프론트컨트롤러에서 실행 클래스를 찾아야됨 핸들러맵핑-> requestmapping "/" 실행시키기 위해서 어댑터 통해 실행 ... 컨트롤러가 디비 DB프레임워크 MyBatis
    뷰이름만 어댑터통해 실행
    뷰리졸버가 뷰이름 완성해줌
  • POJO( Plaion Old Java Object) - 위치 찾기 servlet-context.xml 에서
    <context:component-scan base-package="kr.smhrd.web" />\
  • @Controller 라는 어노테이션 이 있어서 패키지 안에서 찾아옴!!
    그냥 jsp안에서 실행시 404오류 : http://localhost:8082/web/WEB-INF/views/home.jsp 보안폴더인 web-inf에 만들어졌기땜에, fc를 무조건 거쳐야함
    특정메모리에 데이터를 담아서 이동하는 방식:객체바인딩=동적바인딩
    url이름 그대로, 서버 내부에서 이동하기 땜에 모델(리퀘스트) 데이터 꺼내올 수 있음 - 포워드방식
  • pom.xml dependencies태그 안에 api 를 등록해 필요한 라이브러리를 손쉽게 사용할 수 있음!

프로젝트 생성

  • 프로젝트를 만들 때 기본 패키지가 있어야하고, 3단계에 걸쳐 이름을 생성해준다.
  • new - 스프링레거시 프로젝트 - 템플릿에서 스프링 MVC프로젝트
  • __.___.___ 마지막__이 컨텍스트패스
  • 프로젝트 안에 서버 연동시키려면 톰캣서버에 프로젝트를 등록시켜야됨 severs탭에서 add and remove 에서 SpringMVC add
  • 톰캣에 등록하면 server.xml의 컨텍스트패스가 마지막에설정한 이름으로 확인됨
  • context path 로 접근해야 SpringMVC 프로젝트로 접근가능
  • 서버 restart
  • Libraries에 각종 api를 관리하는 Maven 의 jar파일들이 있다. pom.xml에서 필요 라이브러리 추가 하면 자동으로 올라감
  • <dependency> 태그 가져와 붙여넣어주면 됨
  • 전자정부 프레임워크 표준 JDK는 1.8 버전인데 Spring 프로젝트는 1.6버전이 적용되어있고 JDK 버전을 바꿔줄때 : <plugin> 태그 안의 컴파일러 버전을 1.8로 변경
    -> 프로젝트명 오른쪽마우스 메이븐-업데이트프로젝트 표스업데이트 ~~ 부분 체크하고 OK

BoardVO 생성하기 - 게시판 만들기

lombok(게터세터, 생성자 등 쉽게 쓸수 있는api)

cmd창에서
C:\Users\smhrd>cd C:\eGovFrame-3.10.0\bin\jdk8u242-b08\bin
C:\eGovFrame-3.10.0\bin\jdk8u242-b08\bin>java -jar lombok.jar
cd
프로젝트에 api 추가해야됨 --메이븐
@치고 키워드 자동완성으로 import 하기!

  • @Data 어노테이션으로하면 게터세터,생성자 자동생성
  • @AllArgsConstructor 전체 담는 생성자
  • @NoArgsConstructor 기본생성자
  • @ToString
  • @NonNull 원하는 필드 위에 있어야하는 생성자 필드 적용
package kr.smhrd.mapper;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.NonNull;
import lombok.ToString;

//롬복 api import 어노테이션으로하면 게터세터,생성자 자동생성
@Data
@AllArgsConstructor		//전체 담는 생성자
@NoArgsConstructor		//기본생성자
@ToString

public class BoardVO {
	private int idx; 	//번호
	@NonNull		//원하는 필드 위에 있어야하는 생성자 필드 적용
	private String title; 	//제목
	@NonNull
	private String contents;	//내용
	private int count;		//조회수
	@NonNull
	private String writer;		//작성자
	private String indate;		//작성일
	
	
}

0개의 댓글