WEB/Spring19 Spring vs SpringBoot 비교, 차이점 알아보기 Spring vs SpringBoot 비교해보기 이번 글에서는 Spring, SpringBoot의 차이점을 알아보겠습니다. Spring, SpringBoot 소개Spring FrameworkSpring은 자바 기반의 애플리케이션 개발을 위한 오픈소스 프레임워크 입니다. 주요 특징의존성 주입(DI), AOP, 트랜잭션 관리, 보안, 웹 MVC유연하고 확장 가능한 구조개발자가 직접 설정해야하는 부분이 많음 Spring BootSpringBoot는 Spring 프레임워크를 쉽게 사용할수 있도록 AutoConfigutration, 의존성 관리, 내장 Tomcat 서버 제공등을 포함한 프레임워크 입니다. 주요 특징설정없이 Spring 실행 가능내장 Tomcat 으로 웹서버 실행 가능운영 및 모니터링 기능 내장(S.. 2025. 6. 4. Spring Boot CORS 사용 목적과 브라우저 보안 SOP Spring Boot CORS CORS(Cross Origin Resource Sharing) 는 프론트와 백엔드가 분리된 요즘 웹환경에서 필수로 이해해야 하는 개념입니다. CORS란?CORS는 다른 도메인간의 HTTP 요청을 허용할지 말지를 서버가 명시적으로 제어할수 있게 해주는 보안 정책입니다.프론트엔드: http://localhost:3000백엔드 : http://localhost:8080 위와 같은 설정에서 도메인/포트가 다르면 크로스 오리진 요청 으로 간주되며 브라우저는 보안상 기본적으로 이 요청을 차단합니다. 서버에서 CORS 허용을 명시해야만 요청이 성공합니다.이는 허용된 도메인만 접근 가능하게 하는 Access Control List 역할을 수행하는 것입니다.서버가 Access-Contro.. 2025. 6. 4. Spring Boot의 HTTP 요청 처리 과정: 필터부터 AOP까지 HTTP 요청이 컨트롤러까지 오는 과정 웹 애플리케이션을 개발하다 보면, 클라이언트에서 API 요청이 들어와서 컨트롤러에 도달하고, 다시 응답이 돌아가는 과정이 어떻게 내부적으로 흘러가는지 궁금할 때가 많습니다. 이번 글에서는 Spring Boot 기반 애플리케이션에서 HTTP 요청이 지나가는 전체 흐름을 Filter → DispatcherServlet → Interceptor → AOP → Controller 순서로 각 단계에서 어떤 역할을 하는지 정리해보겠습니다. 전체 흐름 요약[클라이언트 요청]↓Filter (Servlet API)↓[DispatcherServlet]↓Interceptor↓AOP (Aspect-Oriented Programming)↓Controller (@RestController,.. 2025. 4. 16. TDD(테스트 주도 개발, Test-Driven Development), Junit TDD(테스트 주도 개발, Test-Driven Development) & Junit TDD(Test-Driven Development)TDD는 "테스트를 먼저 작성하고 코드를 구현하는 방식"으로, 소프트웨어 개발을 더욱 견고하고 신뢰성 있게 만드는 방법론입니다. TDD의 핵심 과정은 반복적으로 테스트 작성 -> 코드 구현 -> 리팩토링을 통해 코드를 점진적으로 개선해 나가는 것입니다. TDD 개발 프로세스Red: 실패하는 테스트 작성 먼저 실패하는 테스트 코드를 작성합니다. 이 단계에서 JUnit을 활용해, 단위 테스트 메서드를 작성하고 이 테스트가 실행되었을 때 실패하도록 합니다. 실패를 통해 "구현되지 않은 기능"을 명확히 인지하고, 필요한 기능에 대한 요구사항을 확인하게 됩니다.i.. 2024. 11. 5. 의존성 주입 애노테이션 @RequiredArgsConstructor, @AllArgsConstructor, @NoArgsConstructor 핵심 정리 의존성 주입 애노테이션 종류 알아보기Spring Boot에서 의존성 주입을 위해 Lombok 라이브러리에서 제공하는 어노테이션인 @RequiredArgsConstructor, @AllArgsConstructor, @NoArgsConstructor를 활용하면 코드가 간결해지고 다양한 생성자 주입 방식을 선택할 수 있습니다. 각 어노테이션의 역할과 생성자 주입 방식은 다음과 같습니다. @RequiredArgsConstructor @RequiredArgsConstructor는 final 또는 @NonNull로 선언된 필드에 대한 생성자를 자동으로 생성합니다. 의존성 주입이 필요한 필드를 final로 지정하면 해당 필드만 초기화.. 2024. 10. 31. [Spring] 의존관계 주입(Dependency Injection) 개념과 Bean 중복방지 [Spring] 의존관계 주입(Dependency Injection) 개념과 Bean 중복방지 의존관계 주입(Dependency Injection) 방법 스프링에서 의존관계 주입 방법은 크게 4가지가 있지만 스프링에서 권장하는 방식인 생성자 주입 방식만 잘 알고있으면 됩니다. 생성자 주입 수정자 주입(setter 주입) 필드 주입 일반 메서드 주입 예제 코드 생성자 주입의 특징은 생성자 호출시점에 단 한 번만 호출되는 것이 보장되고 불변, 필수적인 의존관계에 사용합니다. 단일 생성자만 있다면 @Autowired는 생략할 수 있습니다. @Service public class UserServiceImpl implements UserService { private final UserRepository user.. 2023. 12. 14. [Spring] @ComponentScan, Bean 객체 관리하기 [Spring] @ComponentScan 개념, Bean 객체 관리하기 Spring ApplicationContext Spring Boot 기반의 웹 애플리케이션을 개발할때 클래스 상단에 여러가지 어노테이션을 설정하는데 @Component, @Service, @Controller 등등 이러한 어노테이션을 등록하는 목적과 메서드에 적용하는 @Bean 어노테이션의 차이점에 대해서 알아보겠습니다. @Component 를 이해하기 전에 먼저 스프링 어플리케이션 컨텍스트(Spring ApplicationContext)에 대한 이해가 필요합니다. Spring ApplicationContext는 Spring이 Bean 객체를 자동으로 관리, 배포할수 있도록 보관하는 장소입니다. SpringBoot에서 Bean객체에.. 2023. 12. 14. [Spring] @Configuration과 싱글톤 패턴의 관계 싱글톤 패턴 조건 Bean 설정 정보를 구현한 AppConfig 클래스에서 memberRepository 메서드는 MemoryMemberRepository 클래스의 인스턴스를 반환합니다. 그렇다면 memberService, orderService 메서드에서 memberRepository 메서드를 호출할때 마다 새로운 인스턴스를 생성하여 싱글톤 패턴이 안될것 같은데 스프링에서 어떻게 싱글톤 패턴을 유지하는지 알아 보겠습니다. AppConfig.java @Configuration public class AppConfig { @Bean public MemberRepository memberRepository() { return new MemoryMemberRepository(); } @Bean public D.. 2023. 12. 13. 이전 1 2 3 다음