목록개발지식/Spring (13)
마이의 개발 블로그

서론 앞서 스프링 프레임워크를 사용하는 이유에 대해 간단히 살펴봤습니다. 스프링 프레임워크는 자바 기반의 오픈 소스 애플리케이션 프레임워크로, 어플리케이션 개발을 위한 다양한 기능과 라이브러리를 제공하고 프로그램 전체 흐름을 제어하여 개발자가 핵심 로직에만 집중할 수 있도록 돕습니다. 그렇다면 스프링 부트는 언제 사용되는 걸까요? 스프링 부트(Spring Boot)의 목적 어플리케이션 개발이 고도화됨에 따라 스프링도 어플리케이션의 용도에 따라 다양한 기능(클라우드, 시큐리티, MVC, 부트 등)을 제공하게 되었습니다. 스프링 부트는 스프링 기반 어플리케이션 개발을 더욱 효율적으로 만들기 위해 고안된 프로젝트로, 기존에 스프링 프레임워크만을 사용하여 개발 할 때에는 개발자가 직접 설정하고 관리해야했던 여러..
프레임워크가 왜 필요할까? 프레임워크가 없다면 개발자가 일일이 작성해야 했을 반복적인 작업을 줄여주기 때문입니다. 프레임워크는 어플리케이션(소프트웨어)을 개발하기 위해 필요한 구조와 규칙을 제공하는 도구나 라이브러리의 집합으로, 개발 프로세스를 간소화하여 효율성을 증진시킵니다. 개발자는 프레임워크를 사용하여 핵심 로직에 집중하고, 공통적인 작업이나 기능을 재사용할 수 있습니다. 또한, 코드의 일관성을 유지하고 유지보수가 용이해진다는 장점을 얻을 수 있습니다. 프레임워크와 라이브러리는 어떻게 다른가? 프레임워크와 라이브러리 둘 다 코드의 집합이지만 이름을 통해 그 용도를 구분할 수 있습니다. 프레임워크(framework)는 프로그램의 뼈대를 구성하며, 라이브러리(library)는 도서관의 책처럼 용도에 따..
배경 JWT 보안 처리를 위한 필터체인 securityFilterChain를 구성 중 일부 코드가 동작하지 않아 동작하도록 고치는 과정에서 연속적으로 맞닥뜨리게 된 문제들이 있었다. 이를 해결하기 위해 꼬박 하루 이상의 시간을 사용했는데, 국내외를 막론하고 생각보다 문제에 대한 답을 제시해주는 포스트가 없기도 했고, 내가 평소에 개발을 하며 어떤 식으로 문제를 살펴보고 해결하는지를 기록으로 남겨두는 것도 좋을 것 같아 글을 쓰게되었다. 문제 1 - requestMatchers 메서드의 String 타입 사용 불가로 인한 컴파일 오류 메시지: cannot resolve method 'requestMatchers(String)' 기존에 사용된 antMatchers 메서드가 deprecated되어 reques..
배경 Udemy에서 스프링 부트를 학습하며 리액트와 스프링부트를 활용한 토이프로젝트를 진행 중이다. 리액트는 3000번 포트를, 스프링부트는 8080포트를 사용 중이기에 리액트에서 부트로 통신 시도 시 교차 출처 리소스 공유(Cross-Origin Resource Sharing, CORS) 에러가 발생한다. 보통은 아래와 같은 코드를 메인함수가 있는 Application에 삽입하거나, WebMvcConfigurer를 extend한 별도의 클래스를 생성하고 bean으로 등록하여 이 문제를 해결할 수 있다고 한다. 그러나 나의 경우에는 이런 시도에도 불구하고 문제가 해결되지 않았다. @Bean public WebMvcConfigurer corsConfigurer() { return new WebMvcConf..

문제 현재 수강 중인 강의에서 프로젝트 배포에 관련된 강의 내용을 학습하던 중에 IDE가 달라 clean build를 수행할 수 없는 문제가 발생하여 이를 해결하고자 했다. 이클립스에서는 프로젝트 우클릭 - Run as Maven Build 를 통해 clean install을 수행할 경우 .jar파일 생성까지 완료되는데, 메이븐에서는 프로젝트 우클릭이 아닌 아예 다른 뷰에서 해당 동작을 실행할 수 있다는 걸 알게되었다. 해결 방법 우측 메이븐 뷰 진입 - '프로젝트명' - Lifecycle에서 1) clean 더블클릭 2) package 더블클릭 이렇게 하면 타겟 폴더에 클린 후 빌드된 .jar파일이 생성된 걸 발견할 수 있다. 다른 방식으로는 Run/Debug Configuration 메뉴에 들어가서 ..