728x90

java 123

[JPA] Spring Data JPA에서 새로운 Entity 판단하는 방법

Spring Data JPA에서 새로운 Entity를 저장할 때 public interface SaveTestRepository extends JpaRepository {} save @Transactional @Override public S save(S entity) { Assert.notNull(entity, "Entity must not be null."); if (entityInformation.isNew(entity)) { em.persist(entity); return entity; } else { return em.merge(entity); } } Repository의 save 메소드로 저장한다.   저장할 때 Entity가 insert 인지 update 인지 확인하는 로..

[Java] 웹 어댑터 구현하기

만들면서 배우는 클린 아키텍처 : 자바 코드로 구현하는 클린 웹 애플리케이션 읽고    - 의존성 역전- 웹 어댑터의 책임- 컨트롤러 나누기- 유지보수 가능한 소프트웨어를 만드는 데 어떻게 도움이 될까         " data-ke-type="html">HTML 삽입미리보기할 수 없는 소스  "이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

[Java] 유스케이스 구현하기

만들면서 배우는 클린 아키텍처 : 자바 코드로 구현하는 클린 웹 애플리케이션 읽고    - 도메인 모델 구성하기- 유스케이스 둘러보기- 입력 유효성 검증- 생성자의 힘- 유스케이스마다 다른 입력 모델- 비즈니스 규칙 검증하기- 풍부한 도메인 모델 vs 빈약한 도메인 모델- 유스케이스마다 다른 출력 모델- 읽기 전용 유스케이스는 어떨까?         ">HTML 삽입미리보기할 수 없는 소스  "이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

[Java] 코드 구성하기

만들면서 배우는 클린 아키텍처 : 자바 코드로 구현하는 클린 웹 애플리케이션 읽고       - 계층으로 구성하기- 기능으로 구성하기- 아키텍처적으로 표현려겨 있는 패키지 구조- 의존성 주입의 역할     " data-ke-type="html">HTML 삽입미리보기할 수 없는 소스  "이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

[Java] 의존성 역전하기

만들면서 배우는 클린 아키텍처 : 자바 코드로 구현하는 클린 웹 애플리케이션 읽고       단일 책임 원칙과 의존성 역전 원칙  - 단일 책임 원칙- 부수효과에 대한 이야기- 의존성 역전 원칙- 클린 아키텍처- 육강형 아키텍처(헥사고날 아키텍처)- 유지보수 가능한 소프트웨어를 만드는 데 어떻게 도움이 되는지?    ">HTML 삽입미리보기할 수 없는 소스  "이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

[Java] 계층형 아키텍처의 문제

만들면서 배우는 클린 아키텍처 : 자바 코드로 구현하는 클린 웹 애플리케이션 읽고        계층형 아키텍처의 문제는 무엇일까? - 계층형 아키텍처는 데이터베이스 주도 설계를 유도한다.- 지름길을 택하기 쉬워진다.- 테스트하기 어려워진다.- 유스케이스를 숨긴다.- 동시 작업이 어려워진다.- 유지보수 가능한 소프트웨어를 만드는 데 어떻게 도움이 될까    " data-ke-type="html">HTML 삽입미리보기할 수 없는 소스  "이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

[Spring] AbstractAuthenticationProcessingFilter, OncePerRequestFilter 차이

AbstractAuthenticationProcessingFilter, OncePerRequestFilter 차이를 알아보자!!   Spring Security에서 AbstractAuthenticationProcessingFilter와 OncePerRequestFilter는 두 가지 주요한 필터 유형이다. 이들은 인증 및 요청 처리에 사용된다.  각 필터의 역할과 차이를 살펴보면,  1. AbstractAuthenticationProcessingFilter역할AbstractAuthenticationProcessingFilter는 인증 요청을 처리하는 데 사용주로 폼 기반 로그인, JWT 토큰 인증, OAuth 인증 등 다양한 인증 메커니즘을 구현하는 데 사용.특징인증 요청 전용: 특정 URL 패턴(예: ..

[Java] OrElse, OrElseGet 차이

Optional 의 orElse, orElseGet 차이점에 대해서 알아보자 Optional은 자바 8부터 도입된 클래스로, 값이 있을 수도 있고 없을 수도 있는 상황을 처리하는 데 사용된다. Optional은 값이 있는지 없는지를 명시적으로 표현함으로써 NullPointerException을 방지하고, 코드의 가독성을 높여준다. orElseGet와 orElse는 Optional 객체에서 값을 가져오는 메서드 중 두 가지이다. 1. orElseGet 값이 존재하지 않을 경우에만 실행되는 함수를 인수로 받는다. 값이 존재하지 않을 때마다 이 함수가 호출되며, 이 함수의 반환값이 Optional의 값이 된다. 이 함수는 Supplier를 매개변수로 받아야 하므로 지연 로딩(lazy loading)에 적합하다..

[Spring] addAttribute, addFlashAttribute 차이

addAttribute, addFlashAttribute 차이에 대해서 알아보자 addAttribute와 addFlashAttribute는 Spring의 RedirectAttributes 인터페이스의 메서드이다. 이 둘의 차이점은 리다이렉트된 후에 사용할 수 있는 속성의 수명에 있다. addAttribute: 이 메서드를 사용하여 전달된 속성은 URL 쿼리 문자열의 일부로 전달된다. 즉, 속성은 URL에 직접 노출되므로 보안에 취약할 수 있다. 또한, URL의 길이 제한이 있을 수 있다. 주로 데이터가 작은 경우나 보안 상 문제가 없는 경우에 사용된다. addFlashAttribute: 이 메서드를 사용하여 전달된 속성은 일회성으로 저장되어 다음 요청에만 사용할 수 있다. 이러한 속성은 URL에 직접 노..

728x90