Light Purple Pointer
Question 컨트롤러 생성
·
BACKEND/SpringBoot
Question package com.mysite.sbb.question; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; @Controller public class QuestionController { @GetMapping("/question/list") public String list() { return "question_list"; } } 서버 실행하기 view가 없으니까 당연히 에러가 나오는게 맞음 템플릿 에 넣고 jsp를 안씀 템플릿 설정하기 일반적으로 많이 사용하는 방식은 템플릿 방식이다. 템플릿은 자바 코드를 삽입할 수 있는 HTML 형식의 파..
패키지 도메인 별 분리하기
·
BACKEND/SpringBoot
패키지를 만듬 만들어 두었던 클래스와 인터페이스를 정리해서 넣어준다.
답변 AnswerRepository 생성 및 데이터 저장 ,검색
·
BACKEND/SpringBoot
Question과 동일하게 Answer도 Repository 만든다. package com.mysite.sbb; import org.springframework.data.jpa.repository.JpaRepository; public interface AnswerRepository extends JpaRepository { } //일단 질문Question 가져와야함 해당 질문에 대한 답변이니까 Optional oq = this.qRepo.findById(2); Question q = oq.get(); Answer a = new Answer(); a.setContent("네 자동으로 생성됩니다."); a.setQuestion(q); a.setCreateDate(LocalDateTime.now()); aR..
Repository , JUnit 테스트
·
BACKEND/SpringBoot
만들어 놓은 Entity는 테이블이고 이를 사용하기 위해서는 Repository 가 필요하다 인터페이스 생성 package com.mysite.sbb; import org.springframework.data.jpa.repository.JpaRepository; public interface QuestionRepository extends JpaRepository{ } QuestionRepository는 리포지터리로 만들기 위해 JpaRepository 인터페이스를 상속했다. JpaRepository를 상속할 때는 제네릭스 타입으로 처럼 리포지터리의 대상이 되는 엔티티의 타입(Question)과 해당 엔티티의 PK의 속성 타입(Integer)을 지정해야 한다. 이것은 JpaRepository를 생성하기 ..
JPA의 개념 및 H2데이터베이스 사용
·
BACKEND/SpringBoot
https://blog.naver.com/drv982/222919833769 JPA 우리가 만들 SBB는 질문 답변 게시판이다. 질문이나 답변을 작성하면 데이터가 생성된다. 그러므로 데이... blog.naver.com - MyBatis과 같이 많이 사용하는 것이 JPA임 - JPA는 JAVA를 사용해서 작업할 때 사용하고, SQL에 중점적으로 사용할 때 사용할 때는 MyBatis 를 사용함 복잡한 sql은 JPA로 해결못하기 떄문에 MyBatis가 나음 H2데이터베이스 개발 시 DB프로그램이 정해지지 않았을 수도 있음 (MyBatis , oracle) 이럴 경우에 H2데이터베이스를 사용하고 이후에 정해지면 연결하면됨 JPA를 사용하기 전에 데이터를 저장할 데이터베이스를 설치해 보자. 개발시에는 Orac..
스프링부트 프로젝트의 구조, port번호 설정 및 context-path 설정
·
BACKEND/SpringBoot
https://blog.naver.com/drv982/222919234197 스프링부트 프로젝트 구조 src/main/java 디렉터리 src/main/java 디렉터리의 com.mysite.sbb 패키지는 자바 파일을 작성하는 공간이... blog.naver.com 예제. 브라우저에서 http://localhost:8080/sbb 페이지를 요청했을 때 "안녕하세요 sbb에 오신것을 환영합니다."라는 문자열을 출력하도록 만들어 보자. 포트번호 변경 설정 8080에서 80을 생략해서 80 사용 80은 생략이 가능한 주소 주석처리해서 다시 8080으로 되돌릴 수 있음 context-path도 가능 모두 다 주석처리해서 기본 설정으로 되돌려서 사용
설정 추가 +(lombok)
·
BACKEND/SpringBoot
현재는 컨트롤러의 리턴 값을 수정해도 바로 반영되지않고 서버를 다시 스타트해야 반영 확인가능하다 이 방법은 번거로우니까 서버를 번거롭게 재시작 하지 않더라도 그냥 사이트에서 새로고침하면 반영되도록 설정 추가한다. add starters devtool 선택하고 finish pom에서 확인 가능함 실행함 다시 컨트롤러 수정하고 hello 페이지 새로고침만 해주면 변경 사항 반영된다. 그리고 바로 변경 사항을 새로고침 안하더라도 바로 반영 가능한 확장 프로그램도 있음 https://chrome.google.com/webstore/detail/livereload%2B%2B/ciehpookapcdlakedibajeccomagbfab/related LiveReload++ Watches a port and reloa..
STS4 설치 및 설정 -> 테스트
·
BACKEND/SpringBoot
https://spring.io/tools Spring | Tools spring.io 래거시는 STS3이었음. 스프링부트는 STS4 WINDOW버전 다운로드 C:\Java옮김 압축풀기 workspace-boot 폴더 생성 후 체크박스 클릭 설정하기 window next -> Drectory 에서 경로 설정함 11버전 추가된거 확인하고 finish 클릭 등록한 11버전으로 변경 conpiler11버전으로 변경 엔코딩 utf-8확인 빌드 툴 선택해야함 -> Maven packaging -> jar language -> java java Version -> 11버전 선택 group-> com.mysite (회사주소) name -> sbb (프로젝트이름) next SNAPSOT이 붙지 않은게 안정화 버전임 수..
스프링부트란?
·
BACKEND/SpringBoot
https://blog.naver.com/drv982/222918246257 스프링부트란? 스프링부트(Spring Boot)는 자바의 웹 프레임워크로 기존 스프링(Spring) 프레임워크에 톰캣 서버를 내... blog.naver.com . 기존 스프링(Spring) 프레임워크 -> 레거시 레거시는 기능들을 하나씩 사용자가 추가해서 사용함 스프링부트(Spring Boot)는 톰캣 서버를 내장하고 여러 편의 기능들을 추가하여 꾸준한 인기를 누리고 있는 프레임워크이다. 웹 프로그램을 위해서 아래와 같은 기능들이 필요하다 보안 기능도 우수함 그럼에도 불구하고 스프링을 한 이유는 이론을 위해서 중간 과정을 뛰어넘는 것들이 많아서 스프링 부트의 이해를 돕기 위해서 스프링을 이전에 배웠음 현재 설치 된 자바 버전 확인
게시판 만들기 2 - 기본페이지(index)
·
BACKEND/Spring
현재 기본 페이지는 index.jsp이다. 이름 변경으로 main.jsp로 변경함 board의 main.jsp와는 별개임 HomeController package com.demo.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; @Controller public class MainController { @GetMapping("/main") public String main() { return "/main"; } } 테스트하기 모든 요청은 컨트롤러로 받아야하므로 MainController 생성해서 메인으로 보내줘야함 위의 메뉴가 안뜸 인터셉터..