국비지원교육 Day24

두윤기·2023년 2월 1일
0
post-thumbnail
post-custom-banner

HW풀이

등록 & 주입

  • @Repository: 영속성 개체를 관리하는 도구, file이나 DB 작업
  • @Autowired

중복검사

상세조회 활용

Lombok

  • dependencies
  • 코드 자동화 도구(Dto의 field 작성을 수월하게 해줌, + Dto는 java version이 올라가며 대체할 Record class 존재(java 8, 11에선 X))

> 종류

@Setter

@Getter

@NoArgsConstructor

@ToString

@Data

Setter&Getter, ToString을 포함한 lombok annotation

vscode spring dashboard 실행 X

> 상황

  • 어제까지만 해도 잘 작동하던 vscode dashboard가 실행 X

error message

Cannot activate the 'Spring Boot Dashboard' extension because it depends on an unknown 'Pivotal.vscode-spring-boot' extension.

> Error 이유 추측

  1. JDK 설정이 안되있어서 문제 발생

    -> java file을 실행했을 때, terminal에 뜨는 message를 보면 JDK 설정 문제 X
  2. Lombok setting에서 문제 발생
    -> lombok을 건드리지 않은 다른 컴퓨터에서도 똑같은 message가 뜨는 것을 보면 lombok 문제 X
  3. Spring Extension 관련 업데이트 후 충돌 발생
  • Extension V update 확인
    • Spring Initializr: 230130
    • Spring Boot Dashboard: 230120
    • Spring Boot Tools: 230201
      google 검색 중 Pivotal.vscode-spring-boot이 포함된 주소의 marketplace를 들어갔더니 Spring Boot Tools가 나왔음
    • Spring Boot Extension Pack: 221214

Try 1. 다른 컴퓨터에 setting 후 작동하는지 확인

  • VSCode 설치
  • Amazon Correto 17 설치, 환경변수 설정
  • Extension Pack for Java 추가
  • Spring Boot Extension Pack 추가
  • -> 똑같은 error message

Try 2. Spring Boot Tools(Extension) 버젼 다운

  • vscode marketplace에서 V 1.43 다운(현재 1.44)
  • VScode에서 control + shift + p / Install from VSIX
  • -> 똑같은 error message

Try 3. 사용 컴퓨터 vscode 초기화 후 다시 설치

| VSCode 삭제 |

  • extensions 삭제
    • 위치: c:\user\사용자이름\.vscode
  • 설정파일 삭제
    • 위치: c:\user\사용자이름\AppData\Roaming\Code
  • VScode 삭제

| VSCode 재 설치 |

  • VSCode 설치
  • Java 개발환경 설정
  • Spring 개발환경 설정

설치 후 문제 해결 과정
1. Error message 해석

  • 'Spring Boot Dashboard(Extension)'이 'Pivotal.vscode-spring-boot(Extension)'을 depends on 하는데, pivotal이 Unknown이므로 Dashboard에서 pivotal을 삭제해주면 되지 않을까 ?
  • Extension folder에서 Spring Boot Dashboard 폴더 확인


    pivotal은 너무 많아서 제거 불가! -> google 검색 후 pivotal == spring boot tool임을 확인 -> spring boot tool 문제임을 파악
  1. github에 vscode spring 검색
  • upstream extension의 publisher id가 pivotal에서 vmware로 바뀌어 문제 발생임을 파악
  • 다시 Spring Boot Tools를 vscode 마켓플레이스에서 다운, 실행하니 정상 작동!!!

JSP

  • Spring에 홈페이지 화면을 출력하는 방법은 다양하다

Rendering

  • 정보(code)를 변환해서 웹사이트 형식으로 보여주는 것
  • Controller(안 보이는 부분, business 로직) -> 화면(보여지는 부분)

forward(포워드)

Controller가 spring code를 화면으로 변환해서 server에 전달

Rest-API

HTML

  • thymeleaf: 현재 표준
  • apache velocity
  • tiles framework ...

JSP

  • 옛날 표준, 한국에서 가장 많이 씀
  • java를 페이지 내에서 사용 가능

> dependency

  • maven repository에서 down

> JSTL

  • Jsp Standard Tag Library
  • JSP 표준 태그 라이브러리의 약어

if문

	<c:if test="${param.mode == 'error'}">
	</c:if>

if, else문

    <c:choose>
        <c:when test="">

        </c:when>
        <c:otherwise>
            
        </c:otherwise>
    </c:choose>

for문

tomcat embed jasper

  • spring boot와 jsp 연결

> JSP folder

  • src/main/webapp/WEB-INF/views

JSP Directive

  • JSP 페이지가 실행될 때 필요한 정보를 JSP container에 알리는 역할

page directive

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

taglib directive

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
profile
programmerD
post-custom-banner

0개의 댓글