Пишу веб приложение на jsf2. Активно использую @ManagedBean. Методы общего назначение вынесены в класс Util. Допустим следующий код
| Код | ELContext context = FacesContext.getCurrentInstance().getELContext(); ApplicationFactory appFactory = (ApplicationFactory) FactoryFinder. getFactory(FactoryFinder.APPLICATION_FACTORY); ValueExpression binding = appFactory.getApplication().getExpressionFactory(). createValueExpression(context, "#{" + expression + "}", expectedType); return binding.getValue(context);
|
вынесен в метод
| Код | public Object getManagedBean(String expression, Class<?> expectedType)
|
Обращаюсь с ним так
| Код | Util util = new Util(); util.getManagedBean(...);
|
Возник следующий вопрос. Как лучше быть для скорости работы приложения. В каждом бине иметь свой экземпляр класса Util и обращаться к нему через него(условно назовем способ А) или же лучше сделать метод getManagedBean статическим?(условно назовем способ B)
| Код | public static Object getManagedBeanStatic(String expression, Class<?> expectedType)
|
И из всех бинов напрямую обращаться
| Код | Util.getManagedBeanStatic(...);
|
Или же еще такой вариант. Сделать класс Util ManagedBean'ом и обращаться к нему как-нибудь так(условно назовем способ C)
| Код | //Спрячем само получение бина Util util = Util.getInstance(); //А дальше по накатанной util.getManagedBean(...);
|
Какой способ выбрать A,B или C? |