[TIL] Java - Spring Study

서연·2023년 8월 9일

TIL

목록 보기
1/3
post-thumbnail

공부 중인 책

  • 스프링 웹 프로그래밍 (저자 전병선)
  • 스프링 부트 쇼핑몰 프로젝트 with JPA (저자 변구훈)
  • 그 외 구글링과 여러 기술 블로그

1. 개발 환경 구축

1.1 스프링 부트란?

기존의 스프링 프레임워크보다 더 봄이 왔다는 뜻이다. 기존 스프링에 비해 최소한의 설정으로, 실행 버튼을 누르면 바로 애플리케이션이 실행되는 독립 실행 애필리케이션을 지향한다.

스프링 부트 특징

  1. 내장 서버를 이용해 별도의 설정 없이 독립 실행이 가능한 스프링 애플리케이션
  2. 자체 WAS 서버 내장 (톰캣, 제티 등)
  3. Spring Boot Starter을 통해 의존성 제공을 단순하게
  4. XML 설정 없이 단순 자바 수준의 설정 방식 제공
  5. JAR를 이용해 자바 옵션만으로 배포 가능
  6. 애플리케이션의 모니터링과 관리를 위한 스프링 액추에이터 제공

1.4 애플리케이션 실행하기

Spring Boot Project 생성하기

  • 프로젝트 설정
    Spring-demo 책 상황을 내 상황에 맞게 조금 변형
    Gradle project, Spring Boot 3.X, Jar, Java 17
    dependencies - Spring Web

빌드도구 Maven과 Gradle의 차이

빌드란?

application.properties 설정하기

sever.port = 80
application.name = sprint-demo

요즘은 application.properties 파일 대신 application.yml 파일로 많이 생성하는 추세라고 함. 들여쓰기를 통해 설정 값들을 계층 구조로 편리하게 관리 가능.

Hello World 출력하기

  • @RestController : Restful Web API를 좀 더 쉽게 만들기 위해 스프링 프레임워크 4.0에 도입된 기능. @Controller와 @ResponseBody를 합쳐 놓은 어노테이션.
    • @Controller : 해당 클래스를 요청을 처리하는 컨트롤러로 사용
    • @ResponseBody : 자바 객체를 HTTP 응답 본문의 객체로 변환해 클라이언트에게 전송
  • @GetMapping : 클라이언트의 요청을 처리할 URL을 맵핑
  • 코드 작성 후 debug 모드로 실행하면 localhost:80080 포트에서 hello world 확인 가능
package com.example.springdemo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@SpringBootApplication
public class SpringDemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringDemoApplication.class, args);
    }

    @GetMapping(value = "/")
    public String HelloWorld(){
        return "Hello World";
    }
}

Lombok 라이브러리

  • Lombok 라이브러리는 Getter/Setter, ToString과 같은 반복적인 자바 코드를 컴파일할 때 자동으로 생성해주는 라이브러리이다. Lombok 라이브러리를 통해 반복적인 소스코드를 제거할 수 있으므로 코드를 좀 더 깔끔하게 짤 수 있다.
  1. InteliJ FIle/Setting -> Plugin -> Lombok 설치
  2. InteliJ FIle/Setting -> Annotation Processors -> Enable annotation processing 체크 (Lombok을 사용하는 프로젝트마다 설정해줘야 함)
  3. Lombok dependency 추가
    • Maven : pom.xml에 <dependency> </dependency> 사이에 Lombok 의존성 추가 후 InteliJ 재시작
    • Gradle : build.gradle 파일 dependencies에 의존성을 추가한다.
      implementation 'org.projectlombok:lombok'
    • 우측 상단 코끼리를 클릭하고 새로고침 눌러서 Reload All Gradle Projects 를 진행한다.

삽질 기록

  • Lombok 설치 후 Getter, Setter를 통한 회원정보 출력을 시도 중인데 잘 안되고 있다.
profile
삽질 기록장/ 📍다른 삽질 기록장 https://sqlimblife.tistory.com/

0개의 댓글