org.springframework.beans.factory.config

## Class DeprecatedBeanWarner

- java.lang.Object
- - org.springframework.beans.factory.config.DeprecatedBeanWarner

- All Implemented Interfaces:
    BeanFactoryPostProcessor

      public class DeprecatedBeanWarner
      extends Object
      implements BeanFactoryPostProcessor

  Bean factory post processor that logs a warning for `@Deprecated` beans.
  Since:
    3.0.3
  Author:
    Arjen Poutsma

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected Log` | `logger` Logger available to subclasses.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `DeprecatedBeanWarner()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected boolean` | `isLogEnabled()` Determine whether the `logger` field is enabled.
    `protected void` | `logDeprecatedBean(String beanName, Class<?> beanType, BeanDefinition beanDefinition)` Logs a warning for a bean annotated with `@Deprecated`.
    `void` | `postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory)` Modify the application context's internal bean factory after its standard initialization.
    `void` | `setLoggerName(String loggerName)` Set the name of the logger to use.
    `protected void` | `writeToLog(String message)` Actually write to the underlying log.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### logger

          protected transient Log logger

      Logger available to subclasses.

  - ### Constructor Detail

    - #### DeprecatedBeanWarner

          public DeprecatedBeanWarner()

  - ### Method Detail

    - #### setLoggerName

          public void setLoggerName(String loggerName)

      Set the name of the logger to use. The name will be passed to the underlying logger implementation through Commons Logging, getting interpreted as log category according to the logger's configuration.

      This can be specified to not log into the category of this warner class but rather into a specific named category.

      See Also:
        `LogFactory.getLog(String)`, `Logger.getLogger(String)`, `Logger.getLogger(String)`

    - #### postProcessBeanFactory

          public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory)
                                      throws BeansException

      Description copied from interface: `BeanFactoryPostProcessor`
      Modify the application context's internal bean factory after its standard initialization. All bean definitions will have been loaded, but no beans will have been instantiated yet. This allows for overriding or adding properties even to eager-initializing beans.
      Specified by:
        `postProcessBeanFactory` in interface `BeanFactoryPostProcessor`
      Parameters:
        `beanFactory` - the bean factory used by the application context
      Throws:
        `BeansException` - in case of errors

    - #### logDeprecatedBean

          protected void logDeprecatedBean(String beanName,
                               Class<?> beanType,
                               BeanDefinition beanDefinition)

      Logs a warning for a bean annotated with `@Deprecated`.
      Parameters:
        `beanName` - the name of the deprecated bean
        `beanType` - the user-specified type of the deprecated bean
        `beanDefinition` - the definition of the deprecated bean

    - #### writeToLog

          protected void writeToLog(String message)

      Actually write to the underlying log.

      The default implementations logs the message at "warn" level.

      Parameters:
        `message` - the message to write

    - #### isLogEnabled

          protected boolean isLogEnabled()

      Determine whether the `logger` field is enabled.

      Default is `true` when the "warn" level is enabled. Subclasses can override this to change the level under which logging occurs.