Package 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
Description
`protected org.apache.commons.logging.Log`
`logger`
Logger available to subclasses.

## Constructor Summary

Constructors
Constructor
Description
`DeprecatedBeanWarner()`

## Method Summary

Modifier and Type
Method
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 Details

### logger

protected transient org.apache.commons.logging.Log logger
Logger available to subclasses.

## Constructor Details

### DeprecatedBeanWarner

public DeprecatedBeanWarner()

## Method Details

### 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)`

### 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.