암호화 util을 만드는 중 이걸 bean으로 만들어야하는지 static method로 만들어야하는지 고민하는중 찾아보았습니다.
(spring을 사용중)
static 함수 모음 클래스의 모든 함수는 인자가 동일할 경우 항상 동일한 결과를 리턴해야 한다. 이 규칙을 지킬 수 없으면 POJO Bean으로 만들라.
이것이 이뤄지려면 함수 안에서는 외부 자원(Resource)에 대해 하나도 의존하면 안된다는 선결 조건을 충족해야 한다. 외부 자원은 그 실행 결과의 일관성을 보장할 수 없기 때문이다.
이에 가장 잘 들어맞는 예는 StringUtils, CollectionUtils 같은 것들이다.
결론
EncryptionUtils에서 암호화 key를 사용해야하는데 이부분에서 외부 자원에 의존적이라 bean으로 만들어야 한다.
출처:
kwon37xi.egloos.com/4844149?fbclid=IwAR1xFeOpZoEIax-poKhS1Lz5LiYdAoU6p4bRt-HNGyd3vIlNpljvvOomfvM
언제 static 함수 모음 Class를 만들어야 할까?
먼저 내가 말하는 static 함수 모음 class란 Apache Commons Lang StringUtils 처럼 순전히 static 함수들만을 가지고 있고, 객체를 생성하지 않고 사용하는 클래스를 의미한다(Java 이야기이다).이에 대한 정��
kwon37xi.egloos.com
'스터디' 카테고리의 다른 글
로컬에서 임시 외부 도메인 생성하기 (0) | 2020.11.16 |
---|---|
spring boot에서 restTemplate 호출시 응답값을 deserialize 하는 과정에 오류 해결. (0) | 2020.10.21 |
wiremock. stateful-behaviour (0) | 2020.08.04 |
flutter. flutter timer tutorial (0) | 2020.07.28 |