The Spring Framework

## org.springframework.aop.target.dynamic
Class BeanFactoryRefreshableTargetSource

    java.lang.Object
      org.springframework.aop.target.dynamic.AbstractRefreshableTargetSource
          org.springframework.aop.target.dynamic.BeanFactoryRefreshableTargetSource

All Implemented Interfaces:
  Refreshable, TargetClassAware, TargetSource

Direct Known Subclasses:
  RefreshableScriptTargetSource

    public class BeanFactoryRefreshableTargetSource

extends AbstractRefreshableTargetSource

Refreshable TargetSource that fetches fresh target beans from a BeanFactory.

Can be subclassed to override `requiresRefresh()` to suppress unnecessary refreshes. By default, a refresh will be performed every time the "refreshCheckDelay" has elapsed.

Since:
  2.0
Author:
  Rob Harrop, Rod Johnson, Juergen Hoeller, Mark Fisher
See Also:
  `BeanFactory`, `AbstractRefreshableTargetSource.requiresRefresh()`, `AbstractRefreshableTargetSource.setRefreshCheckDelay(long)`

Field Summary

Fields inherited from class org.springframework.aop.target.dynamic.AbstractRefreshableTargetSource
`logger, targetObject`

Constructor Summary
`BeanFactoryRefreshableTargetSource(BeanFactory beanFactory, String beanName)` Create a new BeanFactoryRefreshableTargetSource for the given bean factory and bean name.

Method Summary
`protected Object` `freshTarget()` Retrieve a fresh target object.
`protected Object` `obtainFreshBean(BeanFactory beanFactory, String beanName)` A template method that subclasses may override to provide a fresh target object for the given bean factory and bean name.

Methods inherited from class org.springframework.aop.target.dynamic.AbstractRefreshableTargetSource
`getLastRefreshTime, getRefreshCount, getTarget, getTargetClass, isStatic, refresh, releaseTarget, requiresRefresh, setRefreshCheckDelay`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### BeanFactoryRefreshableTargetSource

    public BeanFactoryRefreshableTargetSource(BeanFactory beanFactory,
                                              String beanName)

  Create a new BeanFactoryRefreshableTargetSource for the given bean factory and bean name.

  Note that the passed-in BeanFactory should have an appropriate bean definition set up for the given bean name.

  Parameters:
    `beanFactory` - the BeanFactory to fetch beans from
    `beanName` - the name of the target bean

Method Detail

### freshTarget

    protected final Object freshTarget()

  Retrieve a fresh target object.

  Specified by:
    `freshTarget` in class `AbstractRefreshableTargetSource`
  Returns:
    the fresh target object

### obtainFreshBean

    protected Object obtainFreshBean(BeanFactory beanFactory,
                                     String beanName)

  A template method that subclasses may override to provide a fresh target object for the given bean factory and bean name.

  This default implementation fetches a new target bean instance from the bean factory.

  See Also:
    `BeanFactory.getBean(java.lang.String)`

The Spring Framework

Copyright © 2002-2008 The Spring Framework.