728x90

Spring 36

[Spring] 테스트 코드 적용하기

테스트 코드 적용하기 TDD에 대한 간단한 정리 - 테스트 주도 개발이라는 의미 - 테스트를 먼저 설계 및 구축 후 테스트를 통과할 수 있는 코드를 작성 - 코드 작성 후 테스트를 진행하는 방법 - 애자일 개발 방식 중 하나 코드 설계 시 원하는 단계적 목표에 대해 설정하여 진행하고자 하는 것에 대한 결정 방향의 갭을 줄이고자 함 최초 목표에 맞춘 테스트를 구축하여 그에 맞게 코드를 설계하기 때문에 보다 적은 의견 충돌을 기대할 수 있음(방향 일치로 인한 피드백과 진행 방향의 충돌 방지) 테스트 코드 작성 목적 - 코드의 안정성을 높일 수 있음 - 기능을 추가하거나 변경하는 과정에서 발생할 수 있는 Side-Effect를 줄일 수 있음 - 해당 코드가 작성된 목적을 명확하게 표현할 수 있음(코드에 불필요..

[Spring] 스프링 부트에서의 예외 처리

스프링 부트의 예외 처리 방식 - 스프링 부트의 예외 처리 방식은 크게 2가지 1. @ControllerAdvice를 통한 모든 Controller에서 발생할 수 있는 예외 처리 모든 컨트롤러에서 발생할 예외를 정의 2. @ExceptionHandler를 통한 특정 Controller의 예외 처리 발생하는 예외 마다 처리할 메소드를 정의 @ControllerAdvice, @RestControllerAdvice - @ControllerAdvice는 Spring에서 제공하는 어노테이션 - @ControllerAdvice나 @RestController에서 발생하는 예외를 한 곳에서 관리하고 처리할 수 있게 하는 어노테이션 - 설정을 통해 범위 지정이 가능하며, Default 값으로 모든 Controller에 ..

[Spring] 알아두면 좋은 디자인 패턴

알아두면 좋은 디자인 패턴 디자인 패턴이란? - 디자인 패턴이란 특정 문맥에서 공통적으로 발생하는 문제에 대해 쓰이는 재사용 가능한 해결책. - 목적별로 일정한 패턴이 제시되어 있다. - 현재 상황에 맞춰 최적화된 패턴을 결정하여 사용. 디자인 패턴의 장점 - 개발자 간의 원활한 협업이 가능 - 소프트웨어의 구조를 파악하기 용이 - 재사용을 통해 개발 시간 단축 - 설계 변경이 있을 경우 비교적 원활하게 조치 가능 디자인 패턴의 단점 - 객체지향적 설계를 고려하여 진행해야 함 - 초기 투자 비용이 많이 들어감(돈, 시간 등) GoF 디자인 패턴 목적에 따른 분류 - 생성 패턴, 구조 패턴, 행동 패턴, 3가지로 구분된다. - 각 패턴이 어떤 작업을 위해 생성되는 것인지에 따른 구분. 1. 생성 패턴 - ..

[Spring] RestTemplate 사용하기

RestTemplate은 스프링 프레임워크에서 제공하는 간단하고 동기화된 REST 클라이언트이다. 용도는 서버에서 다른 서버의 API를 호출할 때 사용된다. 주요 사용되는 메소드의 기능이다. 외울 필요는 없고, 그때 그때 찾아보는게 효율적일듯 메소드 기능 delete() 지정된 URL의 리소스에 http delete 요청 수행 exchange() 지정된 http 메소드를 url에 대해 실행. response body와 연결되는 객체를 포함하는 responseEntity를 리턴 execute() 지정된 http메소드를 url에 대해 실행. response body와 연결되는 객체를 리턴 getForEntity() http get request 전송. response body와 연결되는 객체를 포함하는 re..

[Spring] 스프링시큐리티 OAuth2.0 적용해보기(Google)

구글, 페이스북, 네이버 로그인을 적용해보려고 한다. 지난 포스팅에 사용했던 코드에 이어서 작업하려한다. https://devhooney.tistory.com/99 [Spring] 스프링시큐리티 예제 이전에 작성한 포스팅은 단순히 책에 있는 내용을 정리한 것이었는데, 이번엔 직접 코드를 짜보면서 복습해보려고 한다. 1. 라이브러리 설치 implementation 'org.springframework.boot:spring-boot-starter-secur.. devhooney.tistory.com 1. 구글 api console https://console.cloud.google.com/apis/dashboard Google 클라우드 플랫폼 로그인 Google 클라우드 플랫폼으로 이동 accounts.go..

[Spring] 스프링시큐리티 예제

이전에 작성한 포스팅은 단순히 책에 있는 내용을 정리한 것이었는데, 이번엔 직접 코드를 짜보면서 복습해보려고 한다. 1. 라이브러리 설치 implementation 'org.springframework.boot:spring-boot-starter-security' 2. IndexController 생성 - controller 패키지 생성 후 IndexController 생성 @GetMapping({"", "/"}) public String index() { return "index"; } - resources/template/index.html 생성 인덱스페이지입니다. 3. user, admin 메소드 생성 - IndexController에 두 개의 메소드를 만들어 준다. @GetMapping("/use..

728x90