일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- LogInterceptor
- JsonStringType
- 포맷터
- 쓰레드 안전
- vaultTemplate
- gradle
- ClientHttpRequestInterceptor
- jpa
- java
- AOP this
- auto configuration
- Spring Boot
- restTemple
- @AutoConfiguration
- ResponseBodyAdvice
- Save Action
- fotmatter
- 개방/폐쇄 원칙
- AOP
- RestTemplate
- findFirst
- Stream
- AOP target
- spring
- findAny
- Starter
- JsonType
- Thread Safety
- AccessLevel
- AOP 매개변수
- Today
- Total
목록JAVA (25)
맨땅에 헤딩하는 개바른자
클래스 상속과 인터페이스 구현을 올바르게 사용하도록 도와준다. “형식”과 “하위형식" 이라는 용어가 있다고 한다면 부모와 자식의 관계를 이루었다는 걸 유추 할 수 있다. 자식은 부모를 상속하거나 구현할 수 있으며 부모의 기능을 그대로 물려 받는 행동을 유지해야한다고 가정하면 이해가 쉬우려나?… 아무튼 부족한 짱구로 글로 이해하려니 쉽지가 않다 간단하게 말하면 부모의 Type의 기능은 자식 타입에서 유지가 되고 그 기능을 사용할 수 있다. 이해한 기반으로 코드로 설명해보겠습니다. Child라는 상속클래스에는 "String 나는_X째_입니다();" 하는 메소드가 정의되어있고 각 하위 클래스 FirstChild, SecondChild에는 extends Child를 상속하여 구현되어있다. ThirdChild는 ..

개방/폐쇄 원칙을 적용하면 코드를 직접 바꾸지 않고 해당 메소드나 클래스의 동작을 바꿀 수 있다. 아래 예제에 이 원칙을 적용하면 calculator() 메소드의 코드를 복사하거나 새 마라미터를 추가하는 등 코드를 바꾸지 않고도 동작을 바꿀 수 있다. 클래스 CalculatorProcess 라는 곳에는 첫번째 값과 두번째 값에 대한 연산을 수행하는 메소드가 존재 합니다. 여기서 코드를 변경하지 않고 덧셈 뺄셈을 수행하는 것을 해보겠습니다. public class CalculatorProcess { private final Integer first = 10; private final Integer second = 5; public Integer calculator (OcpFuncFilter ocpFuncF..
프로젝트 구성 할 때 Response를 공통화하기위해 공통객체를 생성하고 Controller에서 공통객체로 리턴하는 구간을 간략하게 처리할 수 있는 방법입니다. 보통 Controller에서 공통처리 시 아래와 같이 선언이 됩니다. 최종 객체로 ResponseEntity를 선언하고 그 안에 공통 객체를 VgnApiResponse 사용하는 구성으로 코딩이 되어 있습니다. @GetMapping("/me") public ResponseEntity getMyMemberInfo() { return ResponseEntity.ok( VgnApiResponse.builder() .logKey(LogKey.get()) .data(memberService.getMyInfo()) .build() ); } 리턴형태 { "lo..

다형성을 이해해보자 출처 : 김영한 인프런 자동자는 인터페이스역활을 한다. 자동자라는 개념에 다양하게 K3, 아반떼, 테슬라 모델3 처럼 다양한 자동차로 구현할 수 있다 즉.. 운전자는 구현체가 다양하여도 운전을 할 수 있다. 운전자는 자동차라는 역활에 대한 다양한 구현체의 자동차를 사용할 수 있다는 개념이다 또 다른 예로 로미오, 줄리엣 이라는 역활에 있는데 장동건, 원빈이 로미오를 하던 김태희, 한가인이 줄리엣을 하던 무한한 대체가 가능하다라는 개념이다 역활과 구현을 분리 역활과 구현으로 구분하면 세상이 단순해지고, 유연해지며 변경도 편리해진다. 장점 클라이언트는 대상의 역활(인터페이스만) 알면 된다. 클라이언트는 구현 대상의 내부 구조를 몰라도 된다. 클라이언트는 구현 대상의 내부 구조가 변경되어도..

회사에서 업무를 보면서 Request용 Dto를 검증하는 과정에서 컨트롤러 진입 전에 여러 단계를 걸치면서 유입되는 과정을 보게된다. 단순히 Filter, Interceptor등 컨트롤러 진입 전 전처리를 하기 위한 구성이 있다는 정도만 알고있어도 충분히 업무에서도 무리없이 가능하지만 간혹 상급 개발자분들끼리 얘기하시는 용어를 못 알아 들을 때가 있었다. 프록시를 타는건가? 구멍을 뚫어서 길을 만들어주면될거 같다 등등 왈왈왈 ~ 듣다보니 답답함이 생겨서 MVC를 공부하는 취지로 글을 작성하려고 한다. [Spring 라이프사이클 구조] 위 그림 예제에서 controller, service, repositry는 다 아는 내용으로 생략 Filter 요청이 들어오면 제일 먼저 적용되는 부분이다. Dispatch..