월루를 꿈꾸는 대학생

[Spring Boot] 기본 세팅 및 기초 정리 본문

Programing/Spring Boot

[Spring Boot] 기본 세팅 및 기초 정리

하즈시 2022. 12. 15. 18:29
728x90

먼저 해당 사이트에서 파일을 만들기 

https://start.spring.io/

 

세팅을 다음과 같이하고 ide로 열기 

 

중요한거는 나의 경우 자바11로 깔려있어서 스프링부트 버전을 2로 설정해야 오류가 안남 

 

 

잘되나 확인해보기 

 

package com.example.sbb;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;

//요청이 올 때 프레임워크가 해당 클래스를 컨트롤러라고 인식하도록 선언
@Controller
public class HelloController {
    //Get요청에서 "/hello"가 오면 이 밑의 메소드를 실행
    @GetMapping("/hello")
    //hello() 리턴값이 요청에 응답값이라고 알려줌 보통 html파일 씀
    @ResponseBody
    public String hello(){
        return "Hello World";
    }
}

 

 

롬복

- getter , setter 자동으로 만들어줌 

package com.example.sbb;

import lombok.Getter;
import lombok.Setter;

@Getter
@Setter
public class HelloLombok {

    private String hello;
    private int lombok;

    public static void main(String[] args) {
        HelloLombok helloLombok = new HelloLombok();
        helloLombok.setHello("헬로");
        helloLombok.setLombok(5);

        System.out.println(helloLombok.getHello());
        System.out.println(helloLombok.getLombok());
    }
}

 

- 생성자 만들기 

package com.example.sbb;

import lombok.Getter;
import lombok.RequiredArgsConstructor;
import lombok.Setter;

//final이 붙어있는 변수를 가지고 생성자 만들어야 되도록 변경 
//final 붙어 있으니 @setter 노의미 
@RequiredArgsConstructor
@Getter
//@Setter
public class HelloLombok {

    private final String hello;
    private final int lombok;

    public static void main(String[] args) {
        HelloLombok helloLombok = new HelloLombok("헬로",4);
//        helloLombok.setHello("헬로");
//        helloLombok.setLombok(5);

        System.out.println(helloLombok.getHello());
        System.out.println(helloLombok.getLombok());
    }
}

 

 


 

프로젝트명 + Application.java

- 프로그램 시작 담당 파일 

- @SpringBootApplication 에노테이션 필요

- 스프링부트의 모든 설정이 관리됨 

 

 


URL 매핑

- 웹에서 url 치고 웹페이지 접속을 함  ex www.naver.com 

- 해당 url 이랑 매칭이 되는 파일이 있어야 웹페이지를 보여주겠지? 그거 없으면 에러 나는 거고 

 


 

package com.example.sbb;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;

@Controller
public class MainController {
    @GetMapping("/sbb")
    public void index(){
        System.out.println("index");
    }

}

요렇게 만들고 나면 그냥 index 프린트로 끝이 아니라 에러가 뜸 

 

 

500번 에러로 내부서버에서 잘못한 거임 

 

리턴값이 없음 왜냐면 컨트롤러에서 받고 이제 요청에 대한 값을 줘야하는데 위에 험수는 리턴없는 void 였으니까 

또한 @ResponseBody가 없으면 index라는 html 파일 찾아서 에러나니까 또 필요하다고 함 

@Controller
public class MainController {
    @GetMapping("/sbb")
    @ResponseBody
    public String index(){
        return "index";
    }

}

 

 

 


 

 

 

https://wikidocs.net/book/7601

 

점프 투 스프링부트

점프 투 스프링부트는 Spring Boot Board(SBB)라는 이름의 게시판 서비스를 만들어가는 과정을 설명한 스프링부트 입문서이다. 자바 설치부터 시작하여 서비스 운…

wikidocs.net

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90