2
유틸리티 클래스에는 간단한 이전 스타일의 정적 메소드가 있습니다. 나는 매번 요구되는 paramterised 오브젝트로 인해 "CDI"에 어려움을 겪고 있습니다.이 접근법에 최선의 노력을 기울이는 데 도움이되는 도움이 필요하십니까?CDI (Weld JEE6)에 대한 정적 유틸리티 메소드
즉 여러 클래스에 유틸리티 클래스를 삽입하고 아래의 메소드를 호출하고 싶습니다. 유틸리티 클래스는 차례대로 올바른 매개 변수로 ByteArrayInputStream, ObjectInputStream을 삽입합니다 ...
올드 클래스 :
public class Utils {
public static Object fromByteArray(final byte[] data) throws IOException, ClassNotFoundException {
final ByteArrayInputStream b = new ByteArrayInputStream(data);
final ObjectInputStream o = new ObjectInputStream(b);
return o.readObject();
}
public static byte[] toByteArray(final MyObj tx) throws IOException{
final ByteArrayOutputStream b = new ByteArrayOutputStream();
final ObjectOutputStream o = new ObjectOutputStream(b);
o.writeObject(tx);
return b.toByteArray();
}
}
감사합니다 ...
몇 가지 방법이 있습니다. 위의 대답은 작동합니다. 생성자가 없으므로 실제로는 이미 CDI 빈 (bean)이며, 종속 영역 (scoped)에만 의존한다. 필요에 따라 주사하고 통화 할 수 있습니다. 이벤트도 사용할 수 있습니다. – LightGuard
@ LightGuard 그래서 실제로 어떤 스코프가 필요하지 않습니까? 그에 따라 내 대답이 바뀌 었습니다. – Aquillo
아니요, 범위가 필요하지 않습니다. 기본적으로 범위가 선언되지 않은 Bean은 Dependent입니다. 즉, Bean이 생성되어 인스트루먼트 된 다음 Bean에 삽입되고 다른 필드와 같아서 포함 된 Bean이 파기 될 때까지 지속됩니다. – LightGuard