본문 바로가기

스터디

String Bean vs Static method 언제 어느걸 사용해야할까?

암호화 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