반응형 SpringBoot31 [spring] servlet-context.xml, root-context.xml, pom.xml, web.xml 차이점 1. root-context.xml의 역할root-context.xml은 애플리케이션 전체에 공통적으로 사용되는 Bean을 정의하는 스프링 설정 파일입니다. 여기에는 비즈니스 로직을 처리하는 서비스(@Service), 데이터 액세스를 처리하는 DAO/Repository(@Repository), 공통적인 유틸리티 등을 정의합니다.예시:서비스 계층 (@Service)데이터 접근 계층 (@Repository)예외 처리, 공통 컴포넌트들 (@Component)root-context.xml 예시 : --> 2. servlet-context.xml의 역할servlet-context.xml은 Spring Web MVC 애플리케이션에서 웹 관련 설정을 처리하는 파.. 2025. 1. 12. [springboot] @LoginUser 어노테이션 SessionUser user = (SessionUser) httpSession.getAttribute("user");@LoginUser 어노테이션은 매번 세션의 저장된 정보를 불러 들이는 위 코드의 중복을 줄여준다.사용법은 아래와 같다. 1) @LoginUser 어노테이션 생성package com.loosie.book.springboot.config.auth;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;@Target(ElementType.PARAMETER)@Retenti.. 2024. 10. 10. [springboot] Spring Security의 /login 요청 시 처리 과정(세션 저장) Spring Security에는 /login과 /logout 요청을 처리하는 메서드(세션저장/세션삭제)가 내부적으로 구현되어 있다. 따라서 개발자는 따로 구현을 하지 않아도 된다. 하지만 어떤식으로 /login POST 요청이 처리되어 세션에 저장되는지 궁금해서 정리해 본다. ① 클라이언트는 아이디와 비밀번호 정보를 담아 서버에게 POST /login 요청 ② 스프링시큐리티의 UsernamePasswordAuthenticationFilter 가 중간에서 아이디와 비밀번호를 추출 ③ 추출한 아이디와 비밀번호를 AuthenticationManager 에게 주면서 인증 요청 ④ AuthenticationManager는 AuthenticationProvider( DaoAuthenticationProvider.. 2024. 10. 9. [springboot] 스프링부트 2점대에 swagger 3점대 연결 스프링부트 2.7 버전gradleSwagger 3.0.01. build.gradle에 의존성 추가// Swagger implementation 'io.springfox:springfox-boot-starter:3.0.0' 2. application.properties에 설정 추가# Swaggerspring.mvc.pathmatch.matching-strategy=ant_path_matcher 3. SwaggerConfig 추가package com.pnow.config;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import springfox.docu.. 2024. 4. 14. [springboot] 유효성 검사 엔티티 유효성 검사(null이나 사용자가 데이터를 JSON에 포함하지 않고 보낼 때)- 도메인 지식- 1번.생성자를 통해 유효성 검사하는 방법과 2번.Bean Validation을 통한 유효성 검사방법이 있다. 1번. 생성자를 통해 유효성 검사하는 방법 package kr.co.hanbit.product.management.domain;import jakarta.validation.constraints.Max;import jakarta.validation.constraints.Min;import jakarta.validation.constraints.Size;import java.util.Objects;public class Product { private Long id; private Str.. 2024. 4. 7. [springboot] 엔티티 int VS Integer 타입 차이 int 타입은 기본타입이고, Integer타입은 래퍼클래스이다.만약 도메인에 null이 들어온다면 int타입은 에러이고, Integer타입은 null값 으로 받아들인다.따라서, 가격이 없을 때 null로 하고 싶으면 Integer타입으로 선언하면 되고, @Column private Integer price; //가격0으로 하고 싶으면 int 타입으로 하면 된다.널값 허용X이면 int로 해서 @Column(nullable = false) private int price; //가격이렇게 하면 된다. 2024. 4. 6. 이전 1 2 3 4 5 6 다음 반응형