본문 바로가기
Backend/Spring

[스프링]

by pjhcsol 2023. 7. 5.

스프링

https://start.spring.io

gradle

java

3.1.1

group→ 기업도메인

artifact→이름

packaging jar

java 11

add

spring web

thymeleaf(html →변환시켜주는 템플릿엔진)

spring boot 2.~ →java 11

spring boot 3.~ →java 17

gen



zip파일 다운됨 홈에서 풀기

인텔리제이에서

build.gradle열기

gradle→버전설정하고 라이브러리 땡겨옴

gitignore →git 세팅값

gradlew→ 그레드로 빌드할때

gradley.bat

메인메서드 실행

2023-06-26 16:29:07.862 INFO 8081 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http)

tomcat이라는웹서버를 내장하고있어서 스프링부트 실행시에 메서드를 자동실행

setting →gradle검색 후 빌드,런환경 인텔리j로 세팅

→그레들을 안통하고 인텔리제이에서 자바를 바로 띄워서 빨라짐

grade jam 11로 설정



zsh 커맨드 창에서 자바 서버실행법

hansol@baghansol-ui-MacBookPro hello-spring % ./gradlew build

hansol@baghansol-ui-MacBookPro hello-spring % cd build

hansol@baghansol-ui-MacBookPro build % ls

hansol@baghansol-ui-MacBookPro build % ls -l

cd libs

hansol@baghansol-ui-MacBookPro libs % ls -l

total 38048

  • rw-r--r-- 1 hansol staff 2734 6 27 21:10 hello-spring-0.0.1-SNAPSHOT-plain.jar
  • rw-r--r-- 1 hansol staff 19475762 6 27 21:10 hello-spring-0.0.1-SNAPSHOT.jar

hansol@baghansol-ui-MacBookPro libs % java -jar hello-spring-0.0.1-SNAPSHOT.jar

.   ____          _            __ _ _

/\\ / _' __ _ () __  __ _ \ \ \ \

( ( )\___ | '_ | '| | ' \/ _` | \ \ \ \

\\/  _)| |)| | | | | || (| |  ) ) ) )

'  || .__|| ||| |\__, | / / / /

=========||==============|/=///_/

:: Spring Boot ::               (v2.7.13)



스프링은 자주 json 반환방식으로 사용

@GetMapping("hello-api") //json 방식@ResponseBodypublic Hello helloApi(@RequestParam("name") String name){ Hello hello = new Hello(); hello.setName(name); return hello;}

스프링안에 json, string 컨버터가 존재

객체가 들어오면 json 문자가들어오면 string

스프링 기본 방식 3가지

  1. 정적컨텐츠:

파일을그대로 내려줌

  1. mvc,템플릿 엔진 방식 :

m,v,c로 쪼개고 view를 렌더링해서 html을 고객에게 줌

MVC : 렌더링된 html을 클라이언트에게 내려줌

model view controller

model :

view :

controller :

  1. API :

객체를 반환해줌 스프링 컨버터를 통해서 변환후 view를 사용안하고 바로 클라이언트에게 내려주는것(객체는 json으로 반환한다 대부분)

프로젝트 시작

1.비즈니스 요구사항 정리

데이터 : 회원id,이름

기능: 회원 등록, 조회

데이터 저장소

rob, nosql 다양한 저장소를 선택가능

null 반환될수있으면 optional 붙임