类 PropertiesBeanDefinitionReader

  • 所有已实现的接口:
    BeanDefinitionReader, EnvironmentCapable

    public class PropertiesBeanDefinitionReader
    extends AbstractBeanDefinitionReader
    Bean definition reader for a simple properties format.

    Provides bean definition registration methods for Map/Properties and ResourceBundle. Typically applied to a DefaultListableBeanFactory.

    Example:

     employee.(class)=MyClass       // bean is of class MyClass
     employee.(abstract)=true       // this bean can't be instantiated directly
     employee.group=Insurance       // real property
     employee.usesDialUp=false      // real property (potentially overridden)
    
     salesrep.(parent)=employee     // derives from "employee" bean definition
     salesrep.(lazy-init)=true      // lazily initialize this singleton bean
     salesrep.manager(ref)=tony     // reference to another bean
     salesrep.department=Sales      // real property
    
     techie.(parent)=employee       // derives from "employee" bean definition
     techie.(scope)=prototype       // bean is a prototype (not a shared instance)
     techie.manager(ref)=jeff       // reference to another bean
     techie.department=Engineering  // real property
     techie.usesDialUp=true         // real property (overriding parent value)
    
     ceo.$0(ref)=secretary          // inject 'secretary' bean as 0th constructor arg
     ceo.$1=1000000                 // inject value '1000000' at 1st constructor arg
     
    从以下版本开始:
    26.11.2003
    作者:
    Rod Johnson, Juergen Hoeller, Rob Harrop
    另请参阅:
    DefaultListableBeanFactory
    • 构造器详细资料

      • PropertiesBeanDefinitionReader

        public PropertiesBeanDefinitionReader​(BeanDefinitionRegistry registry)
        Create new PropertiesBeanDefinitionReader for the given bean factory.
        参数:
        registry - the BeanFactory to load bean definitions into, in the form of a BeanDefinitionRegistry
    • 方法详细资料

      • setDefaultParentBean

        public void setDefaultParentBean​(String defaultParentBean)
        Set the default parent bean for this bean factory. If a child bean definition handled by this factory provides neither a parent nor a class attribute, this default value gets used.

        Can be used e.g. for view definition files, to define a parent with a default view class and common attributes for all views. View definitions that define their own parent or carry their own class can still override this.

        Strictly speaking, the rule that a default parent setting does not apply to a bean definition that carries a class is there for backwards compatibility reasons. It still matches the typical use case.

      • loadBeanDefinitions

        public int loadBeanDefinitions​(Resource resource,
                                       String prefix)
                                throws BeanDefinitionStoreException
        Load bean definitions from the specified properties file.
        参数:
        resource - the resource descriptor for the properties file
        prefix - a filter within the keys in the map: e.g. 'beans.' (can be empty or null)
        返回:
        the number of bean definitions found
        抛出:
        BeanDefinitionStoreException - in case of loading or parsing errors
      • loadBeanDefinitions

        public int loadBeanDefinitions​(EncodedResource encodedResource,
                                       String prefix)
                                throws BeanDefinitionStoreException
        Load bean definitions from the specified properties file.
        参数:
        encodedResource - the resource descriptor for the properties file, allowing to specify an encoding to use for parsing the file
        prefix - a filter within the keys in the map: e.g. 'beans.' (can be empty or null)
        返回:
        the number of bean definitions found
        抛出:
        BeanDefinitionStoreException - in case of loading or parsing errors
      • registerBeanDefinitions

        public int registerBeanDefinitions​(ResourceBundle rb,
                                           String prefix)
                                    throws BeanDefinitionStoreException
        Register bean definitions contained in a ResourceBundle.

        Similar syntax as for a Map. This method is useful to enable standard Java internationalization support.

        参数:
        rb - the ResourceBundle to load from
        prefix - a filter within the keys in the map: e.g. 'beans.' (can be empty or null)
        返回:
        the number of bean definitions found
        抛出:
        BeanDefinitionStoreException - in case of loading or parsing errors
      • registerBeanDefinitions

        public int registerBeanDefinitions​(Map<?,​?> map)
                                    throws BeansException
        Register bean definitions contained in a Map, using all property keys (i.e. not filtering by prefix).
        参数:
        map - a map of name to property (String or Object). Property values will be strings if coming from a Properties file etc. Property names (keys) must be Strings. Class keys must be Strings.
        返回:
        the number of bean definitions found
        抛出:
        BeansException - in case of loading or parsing errors
        另请参阅:
        registerBeanDefinitions(java.util.Map, String, String)
      • registerBeanDefinitions

        public int registerBeanDefinitions​(Map<?,​?> map,
                                           String prefix)
                                    throws BeansException
        Register bean definitions contained in a Map. Ignore ineligible properties.
        参数:
        map - a map of name to property (String or Object). Property values will be strings if coming from a Properties file etc. Property names (keys) must be Strings. Class keys must be Strings.
        prefix - a filter within the keys in the map: e.g. 'beans.' (can be empty or null)
        返回:
        the number of bean definitions found
        抛出:
        BeansException - in case of loading or parsing errors
      • registerBeanDefinitions

        public int registerBeanDefinitions​(Map<?,​?> map,
                                           String prefix,
                                           String resourceDescription)
                                    throws BeansException
        Register bean definitions contained in a Map. Ignore ineligible properties.
        参数:
        map - a map of name to property (String or Object). Property values will be strings if coming from a Properties file etc. Property names (keys) must be Strings. Class keys must be Strings.
        prefix - a filter within the keys in the map: e.g. 'beans.' (can be empty or null)
        resourceDescription - description of the resource that the Map came from (for logging purposes)
        返回:
        the number of bean definitions found
        抛出:
        BeansException - in case of loading or parsing errors
        另请参阅:
        registerBeanDefinitions(Map, String)
      • registerBeanDefinition

        protected void registerBeanDefinition​(String beanName,
                                              Map<?,​?> map,
                                              String prefix,
                                              String resourceDescription)
                                       throws BeansException
        Get all property values, given a prefix (which will be stripped) and add the bean they define to the factory with the given name.
        参数:
        beanName - name of the bean to define
        map - a Map containing string pairs
        prefix - prefix of each entry, which will be stripped
        resourceDescription - description of the resource that the Map came from (for logging purposes)
        抛出:
        BeansException - if the bean definition could not be parsed or registered