Java Doc for BeanFactory.java in  » J2EE » spring-framework-2.5 » org » springframework » beans » factory » Java Source Code / Java DocumentationJava Source Code and Java Documentation

Java Source Code / Java Documentation
1. 6.0 JDK Core
2. 6.0 JDK Modules
3. 6.0 JDK Modules com.sun
4. 6.0 JDK Modules com.sun.java
5. 6.0 JDK Modules sun
6. 6.0 JDK Platform
7. Ajax
8. Apache Harmony Java SE
9. Aspect oriented
10. Authentication Authorization
11. Blogger System
12. Build
13. Byte Code
14. Cache
15. Chart
16. Chat
17. Code Analyzer
18. Collaboration
19. Content Management System
20. Database Client
21. Database DBMS
22. Database JDBC Connection Pool
23. Database ORM
24. Development
25. EJB Server geronimo
26. EJB Server GlassFish
27. EJB Server JBoss 4.2.1
28. EJB Server resin 3.1.5
29. ERP CRM Financial
30. ESB
31. Forum
32. GIS
33. Graphic Library
34. Groupware
35. HTML Parser
36. IDE
37. IDE Eclipse
38. IDE Netbeans
39. Installer
40. Internationalization Localization
41. Inversion of Control
42. Issue Tracking
43. J2EE
44. JBoss
45. JMS
46. JMX
47. Library
48. Mail Clients
49. Net
50. Parser
51. PDF
52. Portal
53. Profiler
54. Project Management
55. Report
56. RSS RDF
57. Rule Engine
58. Science
59. Scripting
60. Search Engine
61. Security
62. Sevlet Container
63. Source Control
64. Swing Library
65. Template Engine
66. Test Coverage
67. Testing
68. UML
69. Web Crawler
70. Web Framework
71. Web Mail
72. Web Server
73. Web Services
74. Web Services apache cxf 2.0.1
75. Web Services AXIS2
76. Wiki Engine
77. Workflow Engines
78. XML
79. XML UI
Java
Java Tutorial
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Java Source Code / Java Documentation » J2EE » spring framework 2.5 » org.springframework.beans.factory 
Source Cross Reference  Class Diagram Java Document (Java Doc) 


org.springframework.beans.factory.BeanFactory

BeanFactory
public interface BeanFactory (Code)
The root interface for accessing a Spring bean container. This is the basic client view of a bean container; further interfaces such as ListableBeanFactory and org.springframework.beans.factory.config.ConfigurableBeanFactory are available for specific purposes.

This interface is implemented by objects that hold a number of bean definitions, each uniquely identified by a String name. Depending on the bean definition, the factory will return either an independent instance of a contained object (the Prototype design pattern), or a single shared instance (a superior alternative to the Singleton design pattern, in which the instance is a singleton in the scope of the factory). Which type of instance will be returned depends on the bean factory configuration: the API is the same. Since Spring 2.0, further scopes are available depending on the concrete application context (e.g. "request" and "session" scopes in a web environment).

The point of this approach is that the BeanFactory is a central registry of application components, and centralizes configuration of application components (no more do individual objects need to read properties files, for example). See chapters 4 and 11 of "Expert One-on-One J2EE Design and Development" for a discussion of the benefits of this approach.

Note that it is generally better to rely on Dependency Injection ("push" configuration) to configure application objects through setters or constructors, rather than use any form of "pull" configuration like a BeanFactory lookup. Spring's Dependency Injection functionality is implemented using this BeanFactory interface and its subinterfaces.

Normally a BeanFactory will load bean definitions stored in a configuration source (such as an XML document), and use the org.springframework.beans package to configure the beans. However, an implementation could simply return Java objects it creates as necessary directly in Java code. There are no constraints on how the definitions could be stored: LDAP, RDBMS, XML, properties file, etc. Implementations are encouraged to support references amongst beans (Dependency Injection).

In contrast to the methods in ListableBeanFactory , all of the operations in this interface will also check parent factories if this is a HierarchicalBeanFactory . If a bean is not found in this factory instance, the immediate parent factory will be asked. Beans in this factory instance are supposed to override beans of the same name in any parent factory.

Bean factory implementations should support the standard bean lifecycle interfaces as far as possible. The full set of initialization methods and their standard order is:
1. BeanNameAware's setBeanName
2. BeanClassLoaderAware's setBeanClassLoader
3. BeanFactoryAware's setBeanFactory
4. ResourceLoaderAware's setResourceLoader (only applicable when running in an application context)
5. ApplicationEventPublisherAware's setApplicationEventPublisher (only applicable when running in an application context)
6. MessageSourceAware's setMessageSource (only applicable when running in an application context)
7. ApplicationContextAware's setApplicationContext (only applicable when running in an application context)
8. ServletContextAware's setServletContext (only applicable when running in a web application context)
9. postProcessBeforeInitialization methods of BeanPostProcessors
10. InitializingBean's afterPropertiesSet
11. a custom init-method definition
12. postProcessAfterInitialization methods of BeanPostProcessors

On shutdown of a bean factory, the following lifecycle methods apply:
1. DisposableBean's destroy
2. a custom destroy-method definition
author:
   Rod Johnson
author:
   Juergen Hoeller
since:
   13 April 2001
See Also:   BeanNameAware.setBeanName
See Also:   BeanClassLoaderAware.setBeanClassLoader
See Also:   BeanFactoryAware.setBeanFactory
See Also:   org.springframework.context.ResourceLoaderAware.setResourceLoader
See Also:   org.springframework.context.ApplicationEventPublisherAware.setApplicationEventPublisher
See Also:   org.springframework.context.MessageSourceAware.setMessageSource
See Also:   org.springframework.context.ApplicationContextAware.setApplicationContext
See Also:   org.springframework.web.context.ServletContextAware.setServletContext
See Also:   org.springframework.beans.factory.config.BeanPostProcessor.postProcessBeforeInitialization
See Also:   InitializingBean.afterPropertiesSet
See Also:   org.springframework.beans.factory.support.RootBeanDefinition.getInitMethodName
See Also:   org.springframework.beans.factory.config.BeanPostProcessor.postProcessAfterInitialization
See Also:   DisposableBean.destroy
See Also:   org.springframework.beans.factory.support.RootBeanDefinition.getDestroyMethodName



Field Summary
 StringFACTORY_BEAN_PREFIX
     Used to dereference a FactoryBean instance and distinguish it from beans created by the FactoryBean.


Method Summary
 booleancontainsBean(String name)
     Does this bean factory contain a bean with the given name? More specifically, is BeanFactory.getBean able to obtain a bean instance for the given name?

Translates aliases back to the corresponding canonical bean name.

 String[]getAliases(String name)
     Return the aliases for the given bean name, if any.
 ObjectgetBean(String name)
     Return an instance, which may be shared or independent, of the specified bean.

This method allows a Spring BeanFactory to be used as a replacement for the Singleton or Prototype design pattern.

 ObjectgetBean(String name, Class requiredType)
     Return an instance, which may be shared or independent, of the specified bean.

Behaves the same as BeanFactory.getBean(String) , but provides a measure of type safety by throwing a BeanNotOfRequiredTypeException if the bean is not of the required type.

 ObjectgetBean(String name, Object[] args)
     Return an instance, which may be shared or independent, of the specified bean.

Allows for specifying explicit constructor arguments / factory method arguments, overriding the specified default arguments (if any) in the bean definition.
Parameters:
  name - the name of the bean to retrieve
Parameters:
  args - arguments to use if creating a prototype using explicit arguments to astatic factory method.

 ClassgetType(String name)
     Determine the type of the bean with the given name.
 booleanisPrototype(String name)
     Is this bean a prototype? That is, will BeanFactory.getBean always return independent instances?

Note: This method returning false does not clearly indicate a singleton object.

 booleanisSingleton(String name)
     Is this bean a shared singleton? That is, will BeanFactory.getBean always return the same instance?

Note: This method returning false does not clearly indicate independent instances.

 booleanisTypeMatch(String name, Class targetType)
     Check whether the bean with the given name matches the specified type.

Field Detail
FACTORY_BEAN_PREFIX
String FACTORY_BEAN_PREFIX(Code)
Used to dereference a FactoryBean instance and distinguish it from beans created by the FactoryBean. For example, if the bean named myJndiObject is a FactoryBean, getting &myJndiObject will return the factory, not the instance returned by the factory.





Method Detail
containsBean
boolean containsBean(String name)(Code)
Does this bean factory contain a bean with the given name? More specifically, is BeanFactory.getBean able to obtain a bean instance for the given name?

Translates aliases back to the corresponding canonical bean name. Will ask the parent factory if the bean cannot be found in this factory instance.
Parameters:
  name - the name of the bean to query whether a bean with the given name is defined




getAliases
String[] getAliases(String name)(Code)
Return the aliases for the given bean name, if any. All of those aliases point to the same bean when used in a BeanFactory.getBean call.

If the given name is an alias, the corresponding original bean name and other aliases (if any) will be returned, with the original bean name being the first element in the array.

Will ask the parent factory if the bean cannot be found in this factory instance.
Parameters:
  name - the bean name to check for aliases the aliases, or an empty array if none
See Also:   BeanFactory.getBean




getBean
Object getBean(String name) throws BeansException(Code)
Return an instance, which may be shared or independent, of the specified bean.

This method allows a Spring BeanFactory to be used as a replacement for the Singleton or Prototype design pattern. Callers may retain references to returned objects in the case of Singleton beans.

Translates aliases back to the corresponding canonical bean name. Will ask the parent factory if the bean cannot be found in this factory instance.
Parameters:
  name - the name of the bean to retrieve an instance of the bean
throws:
  NoSuchBeanDefinitionException - if there is no bean definitionwith the specified name
throws:
  BeansException - if the bean could not be obtained




getBean
Object getBean(String name, Class requiredType) throws BeansException(Code)
Return an instance, which may be shared or independent, of the specified bean.

Behaves the same as BeanFactory.getBean(String) , but provides a measure of type safety by throwing a BeanNotOfRequiredTypeException if the bean is not of the required type. This means that ClassCastException can't be thrown on casting the result correctly, as can happen with BeanFactory.getBean(String) .

Translates aliases back to the corresponding canonical bean name. Will ask the parent factory if the bean cannot be found in this factory instance.
Parameters:
  name - the name of the bean to retrieve
Parameters:
  requiredType - type the bean must match. Can be an interface or superclassof the actual class, or null for any match. For example, if the valueis Object.class, this method will succeed whatever the class of thereturned instance. an instance of the bean
throws:
  NoSuchBeanDefinitionException - if there's no such bean definition
throws:
  BeanNotOfRequiredTypeException - if the bean is not of the required type
throws:
  BeansException - if the bean could not be created




getBean
Object getBean(String name, Object[] args) throws BeansException(Code)
Return an instance, which may be shared or independent, of the specified bean.

Allows for specifying explicit constructor arguments / factory method arguments, overriding the specified default arguments (if any) in the bean definition.
Parameters:
  name - the name of the bean to retrieve
Parameters:
  args - arguments to use if creating a prototype using explicit arguments to astatic factory method. It is invalid to use a non-null args value in any other case. an instance of the bean
throws:
  NoSuchBeanDefinitionException - if there's no such bean definition
throws:
  BeanDefinitionStoreException - if arguments have been given butthe affected bean isn't a prototype
throws:
  BeansException - if the bean could not be created
since:
   2.5




getType
Class getType(String name) throws NoSuchBeanDefinitionException(Code)
Determine the type of the bean with the given name. More specifically, determine the type of object that BeanFactory.getBean would return for the given name.

For a FactoryBean , return the type of object that the FactoryBean creates, as exposed by FactoryBean.getObjectType .

Translates aliases back to the corresponding canonical bean name. Will ask the parent factory if the bean cannot be found in this factory instance.
Parameters:
  name - the name of the bean to query the type of the bean, or null if not determinable
throws:
  NoSuchBeanDefinitionException - if there is no bean with the given name
since:
   1.1.2
See Also:   BeanFactory.getBean
See Also:   BeanFactory.isTypeMatch




isPrototype
boolean isPrototype(String name) throws NoSuchBeanDefinitionException(Code)
Is this bean a prototype? That is, will BeanFactory.getBean always return independent instances?

Note: This method returning false does not clearly indicate a singleton object. It indicates non-independent instances, which may correspond to a scoped bean as well. Use the BeanFactory.isSingleton operation to explicitly check for a shared singleton instance.

Translates aliases back to the corresponding canonical bean name. Will ask the parent factory if the bean cannot be found in this factory instance.
Parameters:
  name - the name of the bean to query whether this bean will always deliver independent instances
throws:
  NoSuchBeanDefinitionException - if there is no bean with the given name
since:
   2.0.3
See Also:   BeanFactory.getBean
See Also:   BeanFactory.isSingleton




isSingleton
boolean isSingleton(String name) throws NoSuchBeanDefinitionException(Code)
Is this bean a shared singleton? That is, will BeanFactory.getBean always return the same instance?

Note: This method returning false does not clearly indicate independent instances. It indicates non-singleton instances, which may correspond to a scoped bean as well. Use the BeanFactory.isPrototype operation to explicitly check for independent instances.

Translates aliases back to the corresponding canonical bean name. Will ask the parent factory if the bean cannot be found in this factory instance.
Parameters:
  name - the name of the bean to query whether this bean corresponds to a singleton instance
throws:
  NoSuchBeanDefinitionException - if there is no bean with the given name
See Also:   BeanFactory.getBean
See Also:   BeanFactory.isPrototype




isTypeMatch
boolean isTypeMatch(String name, Class targetType) throws NoSuchBeanDefinitionException(Code)
Check whether the bean with the given name matches the specified type. More specifically, check whether a BeanFactory.getBean call for the given name would return an object that is assignable to the specified target type.

Translates aliases back to the corresponding canonical bean name. Will ask the parent factory if the bean cannot be found in this factory instance.
Parameters:
  name - the name of the bean to query
Parameters:
  targetType - the type to match against true if the bean type matches,false if it doesn't match or cannot be determined yet
throws:
  NoSuchBeanDefinitionException - if there is no bean with the given name
since:
   2.0.1
See Also:   BeanFactory.getBean
See Also:   BeanFactory.getType




www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.