CDI的静态实用方法(Weld JEE6)

时间:2013-04-29 09:12:59

标签: java-ee java-ee-6 cdi jboss-weld weld

我在实用程序类中有一个简单的旧样式静态方法。由于每次都需要参数化的物体,我正在努力“CDI”它。如何最好地接近这一点,是否有任何帮助?

即。我想将实用程序类注入多个类并在需要的地方调用下面的方法(和类似的)...实用程序类每次都会使用正确的参数注入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();
      }

}

...谢谢

1 个答案:

答案 0 :(得分:3)

有多种方法可以实现这一目标。两种可能性:

只需在bean的方法/构造函数中使用它:

Object object = Utils.fromByteArray(...);

注射它:

@Inject
private Utils utils;

您根本不需要修改课程Utils