일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- python 괄호 회전하기
- 타입스크립트 기본문법
- springboot 미니프로젝트
- 유니티Cube
- 타입스크립트 기초
- springboot 사이드프로젝트
- 유니티
- 스프링부트 블로그만들기
- JS기초
- spring jpa 사이드프로젝트
- springboot 게시판 프로젝트
- 유니티기초
- 스프링부트 미니프로젝트
- springboot 게시판만들기
- typescript 기초문법
- 파이썬 괄호 회전하기
- 프로그래머스 괄호 회전하기 python
- springboot 게시판
- 타입스크립트 기초문법
- 스프링부트 update
- 스프링부트 회원가입
- 스프링부트 게시판만들기
- 스프링부트 블로그
- 파이썬 기초
- jpa 게시판
- 스프링게시판프로젝트
- spring jpa 게시판
- 스프링 게시판 만들기
- 유니티Material
- 괄호 회전하기 파이썬
- Today
- Total
Digking's cave
My First Blog Project (4) : Maven / Lombok / Yaml / Jsp 설정 본문
My First Blog Project (4) : Maven / Lombok / Yaml / Jsp 설정
디깅 2022. 12. 16. 11:051. Maven
Maven은 자바용 프로젝트 관리도구로 프로젝트의 전체적인 라이프사이클을 관리한다.
중앙저장소에 라이브러리를 넣어두고, 중앙저장소를 통해서 다운을 받는다.
필요한 라이브러를 pom.xml에 작성해두고 프로젝트 시작할 때 자동으로 다운받는다.
다운받은 파일은 .m2 안에 repository 폴더에 저장된다.
2. Lombok 설정하기
2-1) 파일 -> 설정 -> 플러그인 -> Lombok 검색 후 설치
2-2) dependency 설정하기
pom.xml 에 아래 추가
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
2-3) Annotation Processing 설정하기
파일 -> 설정 -> 빌드,실행,배포 -> 컴파일러 -> 어노테이션프로세서
3. Lombok 활용하기
Member.java
package com.cos.blog.test;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.Getter;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Member {
private int id;
private String username;
private String password;
private String email;
@Builder
public Member(int id, String username, String password, String email){
this.id = id;
this.username = username;
this.password = password;
this.email = email;
}
}
@Builder
원하는 파라미터만 + 순서 상관없이 입력하여 생성자를 만들 수 있다.
@Builder 활용하여 생성하는 예시👇
HttpControllerTest1.java
package com.cos.blog.test;
import org.springframework.web.bind.annotation.*;
@RestController
public class HttpControllerTest1 {
@GetMapping("http/get")
public String getTest_2(Member member){
return "get 요청 "+ member.getId()+" & "+member.getUsername()+" & "+member.getPassword() +" & " + member.getEmail();
}
@PostMapping("http/post")
public String postTest(@RequestBody String text){
return text;
}
@PutMapping("http/put")
public String putTest(){
return "put 요청";
}
@DeleteMapping("http/delete")
public String deleteTest(){
return "delete 요청";
}
@GetMapping("/http/lombok")
public String LombokTest(Member member){
Member m = Member.builder()
.id(member.getId())
.email(member.getEmail())
.password(member.getPassword())
.username(member.getUsername()).build();
System.out.printf(m.getUsername());
m.setUsername("test");
System.out.printf(m.getId()+" , "+m.getPassword()+" , "+m.getUsername()+" , "+m.getEmail());
return "gg";
}
}
3. yaml 설정하기
yaml이란?
https://www.inflearn.com/questions/16184
application.yml
-> web.xml , root-context.xml , servlet-context.xml 의 합본
server:
port: 8000
servlet:
context-path: /blog
encoding:
charset: UTF-8
enabled: true
force: true
spring:
mvc:
view:
prefix: /WEB-INF/views/
suffix: .jsp
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/blog?serverTimezone=Asia/Seoul
username: cos
password: cos1234
jpa:
open-in-view: true
hibernate:
ddl-auto: create
naming:
physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
use-new-id-generator-mappings: false
show-sql: true
properties:
hibernate.format_sql: true
jackson:
serialization:
fail-on-empty-beans: false
context-path : 진입주소 설정
datasource : DB 연결 설정
TempControllerTest.java
package com.cos.blog.test;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
@Controller
public class TempControllerTest {
@GetMapping("/temp/home")
public String tempHome(){
System.out.println("hello");
return "/home.html";
}
@GetMapping("/temp/jsp")
public String tempJsp(){
return "test";
}
}
@Controller 는 경로 아래에 있는 해당 파일을 return해준다.
파일리턴 기본경로 : src/main/resources/static
리턴명 : /home.html
풀경로 src/main/resources/static/home.html
test.jpa
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<p>jsp test</p>
</body>
</html>
jsp로 return했을 때 jsp가 동작하기 위해서 아래 설정 필요
(jsp는 동적인 파일이기 때문에 인식 못함)
pom.xml
<!-- JSP 템플릿 엔진 -->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
application.yml
spring:
mvc:
view:
prefix: /WEB-INF/views/
suffix: .jsp
prefix : @Controller 가 return을 할 때 앞에 붙여주는 경로
surfix : 뒤에 붙여주는 경로
prefix : /WEB-INF/vies
surfix : .jsp
리턴값 : test
풀경로 /WEB-INF/vies/test.jsp