본문 바로가기

Spring13

스프링 프레임워크의 특징 및 의존성 주입 이 글에서는 스프링에 대한 기본적인 몇몇 특징과 의존성 주입에 대해서 간략하게 알아볼 것이다. 이 내용은 '코드로 배우는 스프링 웹 프로젝트(구멍가게 코딩단)'을 보고 공부한 내용을 간략하게 정리한 것이다. 스프링 프레임워크는 말 그대로 프레임워크이다. 프레임워크는 뼈대나 근간을 이루는 코드들의 묶음 즉, 큰 틀을 제공하고 내 코드는 프레임워크의 틀 안에 맞춰서 작성하는 것이다. 프레임워크는 프로그램의 기본 흐름이나 구조가 이미 정해져 있어서 개발자 간의 능력 차이를 메워준다. 이미 구조가 구현돼 있기에 반쯤 완성된 상태에서 필요한 부분을 조립하는 형태의 개발이 가능하다는 점이다. 이는 품질이 보장된 결과와 개발 시간 단축이라는 장점이 있다. 2000년대 초반 여러 프레임워크가 나와있지만 스프링은 가장 .. 2021. 12. 6.
스프링 @ExceptionHandler 를 통한 예외 처리 스프링으로 프로젝트를 진행하다 보면 정해진 입력값이 잘못되거나 없거나 하는 등 다양한 예외들이 발생할 것이다. 아래와 같이 흔히 JPA로 데이터를 가져올 때도 findById를 사용할 때 잘못될 경우를 대비하여 exception을 던질 것이다. User user = userRepository.findById(user.getId()) .orElseThrow(() -> new IllegalStateException( "userId가 " + user.getId() + "인 user를 찾지 못했습니다.")); 그렇다면 위에 코드처럼 findById를 통해 데이터를 가져오려고 했지만 예외가 발생했을 때에는 클라이언트한테는 어떻게 표시될까? 뭐라고 하는지도 모를 이상한 에러가 보여질 것이다. 그렇기에 이러한 예외들.. 2021. 10. 2.
springboot 이미지파일을 aws 서버에 보관하고 가져오기(s3) springboot를 다루면서 이미지를 저장해놓고 저장한 이미지 URL을 가져오는 기능이 필요하여 aws를 이용하여 구현해봤다. 이 글에서는 aws 사이트에서 이미지를 업로드하고 spring에서는 업로드한 이미지에 접근할 수 있는 이미지 URL을 가져오는 기능만 구현했으며 이미지 업로드 기능, 삭제 기능 같은 다른 기능들은 참고에 적어놓은 다른 블로그들을 확인해 보길 바란다. 또한 이 글에서는 로컬 환경에서의 설정만을 하였고 배포 환경에서의 설정에 대해서도 확인학 싶다면 참고에 다른 블로그들을 확인해 보길 바란다. 물론 이미지뿐만 아니라 다른 파일도 aws에 저장할 수 있지만 여기서는 이미지 파일만을 다루겠다. 먼저 aws에 로그인을 한다. 무료 계정으로 해도 특별히 과도한 기능을 사용하지 않는 한 지장.. 2021. 9. 16.
SpringBoot Controller Test 작성 및 spring-security에서의 test 프로젝트를 진행할 때 Test를 진행하는 것이 매우 중요하다. 그 이유는 백엔드로서 코드를 작성하면 그 코드가 올바르게 동작하는지 확실히 해야 하기 때문이다. repository 함수가 제대로 동작하는지, service가 제대로 동작하는지, controller이 제대로 동작하는지 등을 확인해야 한다. 여기서는 controller test를 살펴볼 것이다. controller를 만들고 제대로 작동되는지 확인하기 위해서는 test코드를 작성하지 않는다면 post나 put 같은 기능을 일일이 웹에서 실행을 하고 이것저것 시도하는 것을 서버를 켜고 해야 하는 번거로움이 있다. 그렇기에 test코드를 작성하는 것이 바람직하다. 아래는 간단한 post에 대한 코드이다. PostsApiController import.. 2021. 8. 31.