2023. 03. 14 (4 week)

김준태·2023년 3월 14일
0

멋쟁이사자처럼

목록 보기
14/16
post-thumbnail

스프링부트

  • 스프링 부트는 스프링 프레임워크를 기반으로 한 자바 웹 어플리케이션 개발 프레임워크
  • 스프링 프레임워크의 생산성과 유연성을 유지하면서도 보다 간편하게 웹 어플리케이션을 개발할 수 있도록 해주는 프레임워크입니다.
  • 스프링 이니셜라이저 : 스프링 부트 프로젝트를 생성할 수 있는 웹 기반 도구
  • http://localhost:8080 : URL을 웹 브라우저에 입력하면, 개발한 웹 애플리케이션에 접근할 수 있습니다.

어노테이션(Annotation)

  • 코드에 대한 정보를 제공하고, 컴파일러나 프레임워크 등이 이 정보를 활용하여 코드를 생성하거나 실행 시 동작을 변경할 수 있도록 합니다.

Spring

@Controller

  • MVC(Model-View-Controller) 패턴에서 Controller 역할
  • 어노테이션을 클래스에 붙이면, 해당 클래스는 Spring에서 자동으로 빈(bean)으로 등록되며, 클라이언트의 요청을 처리하는 메서드를 정의할 수 있습니다.
@Controller
public class UserController {

}

@GetMapping

  • HTTP GET 요청과 메서드를 매핑하기 위해 사용
  • 해당 메서드는 GET 요청을 처리하는 핸들러로 등록되며, 요청 URL과 일치하는 경우 해당 메서드가 실행
@Controller
public class UserController {
// "/user/hello" URL로 GET 요청이 들어왔을 때, hello() 메서드가 실행되도록 매핑
    @GetMapping("/user/hello")
    public String hello() {
        return "hello";
    }
}

@ResponseBody

  • 메서드가 반환하는 객체를 HTTP 응답 본문으로 변환하여 반환할 때 사용
  • 별도의 뷰를 사용하지 않고도 클라이언트에게 데이터를 전송할 수 있습니다.
public class UserController {
    
    @GetMapping("/user/hello")
    // hello() 메서드가 반환하는 "hello"
    // 문자열을 HTTP 응답 본문으로 변환하여 클라이언트에게 반환
    @ResponseBody
    public String hello() {
        return "hello";
    }
}

@RequestParam

  • HTTP 요청 파라미터를 메서드의 매개변수로 전달할 때 사용
  • Spring 웹 애플리케이션에서 HTTP 요청 파라미터는 보통 URL 쿼리 문자열이나 HTML form 데이터의 형태로 전달됩니다.
// "name""age"는 HTTP 요청 파라미터
http://localhost:8080/user/getInfo?name=iu&age=30
public class UserController {
    #V1
    @GetMapping("/user/getInfo")
    @ResponseBody
    // user/getInfo?name=iu&age=30
    // 입력받은 name = name, age = age가 같아야한다.
    // @RequestParam 생략 가능
    public String getInfo(@RequestParam String name, @RequestParam int age) {
        return "이름은 %s이고, 나이는 %d입니다.".formatted(name, age);
    }
}
public class UserController {
    #V2
    @GetMapping("/user/getInfo")
    @ResponseBody
    
    public String getInfo(@RequestParam("name") String userName,
    @RequestParam("age") int userAge) {
        return "이름은 %s이고, 나이는 %d입니다.".formatted(userName, userAge);
    }
}

lombok

  • lombok은 자바 언어에서 사용되는 라이브러리로, 개발자들이 자바 소스 코드에서 반복적으로 작성하는 Getter, Setter, 생성자, EqualsHashCode 메서드 등을 자동으로 생성해주는 기능을 제공합니다.

@AllArgsConstructor

  • 클래스의 모든 필드를 인자로 받는 생성자를 자동으로 생성
@AllArgsConstructor
class Animal{
    int age;
    String name;
}

@Getter / @Setter

  • @Getter : Getter 메서드를 자동으로 생성해주는 역할
  • @Setter : Setter 메서드를 자동으로 생성해주는 역할
@Getter
@Setter
class Animal{
    int age;
    String name;
}

0개의 댓글