본문 바로가기

분류 전체보기45

(Java) 패키지 양방향 의존 문제점과 해결 방안 목차 1. 패키지 양방향 의존성 문제점 2. 해결 방안 " data-ke-type="html">HTML 삽입미리보기할 수 없는 소스 1. 패키지 양방향 의존성 문제점 우리는 팀 단위로 프로젝트 진행할 때 보통 메뉴 or 도메인 단위로 패키지를 구성한 뒤 담당자가 배정된다. (모놀리식 프로젝트인 경우)그때 작업자들은 필연적으로 다른 개발자가 개발 중인 패키지의 서비스 등을 사용할 경우가 생긴다.그러면 해당 개발자는 일단 해당 서비스를 의존 주입 받아서 바로 사용하고 싶은 욕구가 생길 텐데 이때 아래와 같은 문제가 생길 수 있다. 현재 주문 패키지와 결제 패키지.. 2024. 5. 11.
Spring Security 예외 처리 HTML 삽입 미리보기할 수 없는 소스 1. AccessDenied 예외 처리 Security에서 기본적으로 권한이 없는 리소스에 요청을 보내면 403(AccessDenied) 예외를 발생시킨다. 하지만 response에 메시지 등 정보를 넣어주기 위해서는 아래와 같은 처리가 필요하다. 1. 우선 Security Config에서 exceptionHandling 메서드를 통해 커스텀 한 handler를 등록해 준다. @Bean public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { http .csrf(AbstractHttpConfigurer::disable) .sessionManagement(configurer -> conf.. 2024. 4. 22.
Spring Security6 JWT구성 HTML 삽입 미리보기할 수 없는 소스 1. secyrity config 코드 Security6 버전으로 올라오면서 구현 코드 문법이 좀 바뀌긴 했지만, 개념적인 부분은 기존과 동일하다. 우선 config 구현 코드는 아래와 같다. @Configuration @EnableWebSecurity @EnableGlobalMethodSecurity(securedEnabled = true, prePostEnabled = true) // 이걸 추가해야 어노테이션 기반 권한 설정이 동작 @RequiredArgsConstructor public class SecurityConfig { private final JwtTokenProvider jwtTokenProvider; private final JwtAccessDen.. 2024. 4. 22.
Spring REST API @Valid HTML 삽입 미리보기할 수 없는 소스 1. @Valid 1-1. @Valid 란 Spring에서 클라이언트에서 넘어온 값에 대한 검증을 쉽게 하기 위해 해당 어노테이션을 사용하며 해당 처리를 DTO객체에서 처리하기 때문에 코드의 응집도가 올라간다는 장점도 있다. 우선 형식 체크 외에 빈 값에 대한 체크는 @NotNull, @NotEmpty, @NotBlank을 사용하며 각각의 용도는 살짝 다른데 차이점은 아래와 같다. @NotNull: 필드 값이 null인지 검증. @NotEmpty: 필드 값이 null 뿐 아니라 빈 문자열("") 인지도 검증. @NotBlank: 필드 값이 null, 빈 문자열("") 뿐 아니라 공백("")인지도 검증. 보통 문자열에 체크는 @NotBlank를 사용하며, 객체에 대해.. 2024. 3. 6.