개발일지349 스프링 RestTemplate RestTemplate란 Spring에서 지원하는 객체로 간편하게 Rest 방식 API를 호출할 수 있는 Spring 내장 클래스입니다. Spring 3.0부터 지원되었고, json, xml 응답을 모두 받을 수 있습니다. Rest API 서비스를 요청 후 응답 받을 수 있도록 설계되어있으며 HTTP 프로토콜의 메소드(ex. GET, POST, DELETE, PUT)들에 적합한 여러 메소드들을 제공합니다. ※ Spring Framework 5부터는 WebFlux 스택과 함께 Spring은 WebClient 라는 새로운 HTTP 클라이언트를 도입하여 기존의 동기식 API를 제공할 뿐 만 아니라 효율적인 비차단 및 비동기 접근 방식을 지원하여, Spring 5.0 이후 부터는 RestTemplate는 dep.. 개발일지/스프링 2022. 12. 15. JPA 네이밍전략, 네이티브 쿼리 사용하기 간단한 CRUD 기능은 자동으로 생성해주지만 나중에 필요한 데이터를 가져오기위해 복잡한 쿼리들이 사용할때가있다. 그럴땐 직접 쿼리를 짜서 기능을 만들어주어야 한다. 복잡한 쿼리를 사용하기에는 네이티브 쿼리를 사용하는게 좋다. 개발일지/스프링 2022. 12. 12. Spring Boot 회원가입 샘플 기능 만들어보기 ORM 연관 관계 만들기 @ManyToOne @OneToMany @OneToOne @ManyToMany @DynamicInsert null 인 값은 필드에서 제외 package com.tencoding.blog.controller; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PostAuthorize; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springfr.. 개발일지/스프링 2022. 12. 8. yml 설정하기 - 2 yml 설정하기 - 1 https://zico8282.tistory.com/entry/SpringBoot-JPA-%EC%9D%98%EC%A1%B4%EC%84%B1-%EC%84%A4%EC%A0%95-MySQL-%EC%84%A4%EC%A0%95-YML-%ED%8C%8C%EC%9D%BC-%EC%84%A4%EC%A0%95 SpringBoot - JPA (의존성 설정), MySQL 설정, YML 파일 설정-1 프로젝트파일 생성 및 dependency추가 , 서버 포트번호 설정 , db연결 설정 Spring Web web mvc를 사용하여 웹 애플리케이션을 만드는데 필요한 스프링 부트의 기본적인 요소를 가지고 있다. 내장형 컨테 zico8282.tistory.com yml 설정하기 스프링 레거시 버전 web.xml.. 개발일지/스프링 2022. 12. 8. Xml, Json, Yaml 차이점 우리가 타 시스템 간에 데이터를 주고 받을 때 데이터 포맷에 대한 약속이 필요합니다. Xml과 Json 파일 포맷 형태 태그형식을 통해서 Key와 Value를 구분하고, 태그안에 태그를 넣어서 부모와 자식관계의 구조를 나타낸다. 근데 위에 Object와 Array 부분은 표시를 해놨지만 Xml포맷상으로는 구분이 안되는 부분도 있다. 그리고 Object 일 경우 {} 로 감싸주고있고, Array일 경우 [] 사용한다. 다음은 Yaml 이다. 야멜이라고 보통 읽고요. yml 이라고도 씁니다. key 와 value 사이에 한 칸이 띄워져 있어야 한다. (엄격한 규칙) yml 파일은 json 형식과 다르게 중괄호{} 없이 스페이스 2칸 이다. 즉 들여쓰기 규칙은 스페이스 2칸 이다. 규칙을 지키지 않으면 동작하.. 개발일지/스프링 2022. 12. 8. Spring Boot - interceptor interceptor 란 Filter 와 매우 유사한 형태로 존재 하지만, 차이점 Spring Context 에 등록이 된다. AOP와 유사한 기능을 제공할 수 있고, 주로 인증 단계를 처리하거나 Logging 를 처리 하는데 사용할 수 있다. 하나의 요청에 대해서 (URI) 전처리 후처리가 가능 함으로써 핵심 로직 역시 분리 할 수 있다. 💡 interceptor 란 Filter 와 매우 유사한 형태로 존재 하지만, 차이점 Spring Context 에 등록이 된다. AOP와 유사한 기능을 제공할 수 있고, 주로 인증 단계를 처리하거나 Logging 를 처리 하는데 사용할 수 있다. 하나의 요청에 대해서 (URI) 전처리 후처리가 가능 함으로써 핵심 로직 역시 분리 할 수 있다. Spring 에 등록 .. 개발일지/스프링 2022. 12. 8. SpringBoot - JPA (의존성 설정), MySQL 설정, YML 파일 설정-1 프로젝트파일 생성 및 dependency추가 , 서버 포트번호 설정 , db연결 설정 Spring Web web mvc를 사용하여 웹 애플리케이션을 만드는데 필요한 스프링 부트의 기본적인 요소를 가지고 있다. 내장형 컨테이너로 톰캣을 기본 탑재하고 있다. 추가적인 의존성 설정 템플릿 엔진 (JSP) 만약 개발중 추가적인 라이브러리를 쓰고싶으면 pom.xml파일안에서 추가해주면된다. 밑에있는 코드는 추가부분 라이브러리 코드이다 다른 라이브러리 코드가 필요하면 https://mvnrepository.com/ // 스크립트 릿등을 사용하기 위해서 org.springframework.security spring-security-taglibs // JSP를 사용하기 위해서 org.apache.tomcat.embe.. 개발일지/스프링 2022. 12. 7. SpringBoot - 스프링 개념 정의 (JPA) , 스프링 동작 원리 스프링 동작 원리 DispactcherServlet이 스프링 컨테이너에서 요청을 받습니다. DispactcherServlet은 요청된 URL, URI , HandlerMapping 객체에 넘기고, 호출해야 하는 Controller 메소드 정보를 얻는다. DispatcherServlet이 HandlerAdapter 객체를 가져온다. HandlerAdapter 객체의 메소드를 실행 한다. Controller 객체는 비즈니스 로직을 처리하고 그 결과를 바탕으로 (뷰, jsp, timeleaf..) 전달할 객체를 Model 객체의 저장한다. DispathcerServlet view name 을 리턴하게 된다. DispathcerServlet 은 view name 을 View Resolver 전달하여 view 객.. 개발일지/스프링 2022. 12. 7. SpringBoot 어노테이션 만들어 AOP 활용하기 User Dto package com.example.demo.dto; import lombok.Data; import lombok.ToString; @Data @ToString public class User { private Long id; private String email; private String pw; } ApiController package com.example.demo.controller; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.util.StopWatch; import org.springframework.web.bi.. 개발일지/스프링 2022. 12. 7. SpringBoot - AOP [ AOP :Aspect Oriented Programming ] : 관점 지향형 프로그램 코드 분리! = 핵심 로직과 선택 로직의 분리!! 스프링 애플리케이션 대부분 특별한 경우를 제외하고 MVC 구조에서 Web Layer, Business Layer, Data Layer 세가지로 정의가 된다. Web Layer REST API 제공, Client 중심으로 적용 Business Layer 요청과 응답 등 내부 정책에 따라서 logic 개발 Data Layer repository 불리는 데이터 베이스 및 외부와 연동을 처리 한다. 어떤 로직을 기준으로 핵심적인 관점, 부가적인 관점으로 나누어서 보고 그 관점을 기준으로 각각 모듈화하겠다는 것이다. 여기서 모듈화란 어떤 공통된 로직이나 기능을 하나의 단.. 개발일지/스프링 2022. 12. 7. @ExceptionHandler(어드바이스 - Advice) 개발일지/스프링 2022. 12. 6. Spring Boot validation 활용 1 post요청으로 Body에 name, age 값을 요청하는데 잘못 요청시 예외처리를 해보자! 예외처리시 @RestControllerAdvice선언한 클래스에서 모든 예외처리를 해준다. 만약 요청시 body에 name값이 최소 2글자인데 한글자를 넣게되면 @MethodArgumentNotValidException 예외가 발생한다. MethodArgumentNotValidException의 예외를 처리해줄 로직이 필요하다. 개발일지/스프링 2022. 12. 6. 이전 1 ··· 4 5 6 7 8 9 10 ··· 30 다음