|
|
|
Interface FactoryBean
|
|||
|---|---|---|---|
|
#18+
Хочу понять что за интерфейс в спринге FactoryBean. Насколько понимаю, это один из основополагающих интерфейсов. зашёл в доку: http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/beans/factory/FactoryBean.html Interface to be implemented by objects used within a BeanFactory which are themselves factories. If a bean implements this interface, it is used as a factory for an object to expose, not directly as a bean instance that will be exposed itself. NB: A bean that implements this interface cannot be used as a normal bean. A FactoryBean is defined in a bean style, but the object exposed for bean references (getObject() is always the object that it creates. FactoryBeans can support singletons and prototypes, and can either create objects lazily on demand or eagerly on startup. The SmartFactoryBean interface allows for exposing more fine-grained behavioral metadata. This interface is heavily used within the framework itself, for example for the AOP ProxyFactoryBean or the JndiObjectFactoryBean. It can be used for application components as well; however, this is not common outside of infrastructure code. NOTE: FactoryBean objects participate in the containing BeanFactory's synchronization of bean creation. There is usually no need for internal synchronization other than for purposes of lazy initialization within the FactoryBean itself (or the like). Пытаюсь перевести: Интерфейс для имплементации объектами используемыми в рамках BeanFactory, которые сами по себе фабрики... Вот тут я подзавис. не могу понять, что это значит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2015, 21:19 |
|
||
|
Interface FactoryBean
|
|||
|---|---|---|---|
|
#18+
P.S. что такое BeanFactory я ферштейн. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2015, 22:08 |
|
||
|
Interface FactoryBean
|
|||
|---|---|---|---|
|
#18+
questioner, Надо просто определится с терминологией и повторить сложносоставные существительные в английском Bean - класс\объект под управлением контейнера (Spring) Factory - класс для создания объектов BeanFactory - это "фабрика бобов" - то что является основным производителем "бинов" в Spring FactoryBean - это Bean, который при этом является ещё и фабрикой для создания других "бинов" BeanFactory - то что реализует Spring для создания объектов FactoryBean - то что реализует разработчик для создания объектов в рамках Spring ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2015, 09:15 |
|
||
|
Interface FactoryBean
|
|||
|---|---|---|---|
|
#18+
FactoryBean это рабочие лошадки внутри спринг контейнера. Контейнер при поиске (lookup) отдает не сам FactoryBean, а результат вызова factoryBean.getObject(). Например есть у тебя DataSource в JNDI, чтобы его получить ты можешь его получать так. Код: xml 1. 2. 3. вызов applicationContext.getBean("dataSource") даст тебе не объект типа JndiObjectFactoryBean, а DataSource. Чтобы получить именно ...FactoryBean нужно использовать амперсант applicationContext.getBean("&dataSource"). Например MethodInvokingFactoryBean вызов метода. Это может быть статический метода класса, или вызов метода экземпляра объекта. Тут зависит как MethodInvokingFactoryBean сконфигурируешь. Код: xml 1. 2. 3. 4. FactoryBeans в спринге дофига, и за пределами контейнера они обычно не нужны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2015, 09:19 |
|
||
|
Interface FactoryBean
|
|||
|---|---|---|---|
|
#18+
Примерно понял. Вот такой код даже наисал Код: java 1. 2. 3. 4. 5. and Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. and following cutom FactoryBean: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. Вот такой main: Код: java 1. 2. даже 12 получил) я не совсем понял зачем в спринге куча встроенных FactoryBean? чем просто вызов new на объекте не прокатывает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2015, 10:50 |
|
||
|
Interface FactoryBean
|
|||
|---|---|---|---|
|
#18+
questionerя не совсем понял зачем в спринге куча встроенных FactoryBean? чем просто вызов new на объекте не прокатывает? Так почитай их список в JavaDoc. Большенство из них существует для инетеграции со сторонним API. Когда бин из этого API нужно создавать только через этот самый API, а не через конструктор. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2015, 10:57 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=113&tid=2124725]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
47ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
| others: | 238ms |
| total: | 360ms |

| 0 / 0 |
