본문 바로가기
728x90

전체 글86

[Spring] @PathVariable @PathVariable • 중괄호 { }로 둘러싸인 값을 경로변수라 한다.• @PathVariable은 경로 변수의 값을 추출하여 매개변수에 할당한다.• 기본적으로 경로 변수는 반드시 값을 가져야 하고, 값이 없는 경우 404 오류가 발생한다. ex) test.com/board/1010을 @PathVariable로 처리할 수 있다. 기본 사용 방법 URL의 {number}와 매개변수 Long number의 이름을 맞춘다.@GetMapping("/board/{number}")public String getTest3(@PathVariable Long number) { return number + "!!!";} 다른 변수명 사용 방법경로 변수 값과 @PathVariable 값을 같은 값으로 하고. 매개.. 2024. 9. 23.
[Spring] @NoArgsConstructor, @AllArgsConstructor, @RequiredArgsConstructor @NoArgsConstructor 파라미터가 없는 기본(디폴트) 생성자를 생성@NoArgsConstructorpublic class Member { private String name; private int age;// public Member() {// }} 항상 초기화가 필요한 final이 붙은 필드가 있으면 다음과 같이 IDE에서 알려주거나 compile error 발생   @AllArgsConstructor 모든 필드 값을 파라미터로 받는 생성자를 생성 @AllArgsConstructorpublic class Member { private String name; private int age;// public Member(String name, int age) .. 2024. 9. 20.
[Spring] @RequestMapping @RequestMapping클라이언트 요청(url)에 맞는 클래스나 메소드와 매핑하기 위해 사용하는 어노테이션이다. @RequestMapping 속성 value : 요청받을 url 설정(value만 주어질 경우 생략 가능) • @RequestMapping(value="/home") ▶ "/home" 요청@RequestMapping(value = "/home")public String home() { return "home"}• @RequestMapping(value={"/home ", "/index"}) ▶ "/home" 과 "/index" 요청@RequestMapping(value = {"/home", "/index"})public String homeIndex() { return "home.. 2024. 9. 18.
[Spring] @Controller, @RestController @Controller• 주로 View를 반환하기 위해 사용Controller가 반환한 뷰의 이름으로부터 View를 렌더링하기 위해 ViewResolver가 사용되고, ViewResolver 설정에 맞게 View를 찾아 렌더링한다. • Data를 반환해야 하는 경우데이터 반환을 위해 @ResponseBody 어노테이션을 활용하여 Controller로 Json 형태로 데이터를 반환할 수 있다.Controller를 통해 객체를 반환할 때 일반적으로 ResponseEntity로 감싸서 반환한다. @RestController @Controller + @ResponseBody 주용도는 Json 형태로 객체 데이터를 반화하는 것REST API 개발할 때 주로 사용하며 객체를 ResponsEntity로 감싸서 반환한다.. 2024. 9. 16.
[Spring] @Transactional 안 되는 경우 내부 호출은 프록시를 거치지 않아 트랜잭션 적용이 안 된다.@Transactional을 사용하면 스프링의 트랜잭션 AOP가 적용되며 기본적으로 프록시 방식의 AOP를 사용한다.@Transactional을 적용하면 프록시 객체가 요청을 먼저 받아 트랜잭션을 처리하고, 실제 객체를 호출하는 방식이다.그러므로 트랜잭셕을 적용하려면 항상 프록시를 통해 대상 객체를 호출해야한다.프록시를 거치지 않고 대상 객체를 직접 호출하면 AOP가 적용되지 않고, 트랜잭션도 적용되지 않는다. @Slf4jpublic class TxService { public void noTx() { log.info("noTx"); printTxInfo(); yesTx(); } @Transa.. 2024. 9. 13.
[Spring] Swagger 적용(Springboot 3.x) Swagger 란?What Is Swagger? Swagger is a set of open-source tools built around the OpenAPI Specification that can help you design, build, document and consume REST APIs.출처 : https://swagger.io/docs/specification/about/Swagger는 REST API를 설계, 구축, 문서화 및 소비하는 데 도움이 되는 OpenAPI 사양을 기반으로 구축된 오픈 소스 도구 세트입니다: 설정 방법• Maven// Maven org.springdoc springdoc-openapi-starter-webmvc-ui 2.3.0 • Gradle// bui.. 2024. 9. 11.
728x90