18 Nisan 2019 Perşembe

SpringContext AutowireCapableBeanFactory Arayüzü

Giriş
Şu satırı dahil ederiz
import org.springframework.beans.factory.config.AutowireCapableBeanFactory;
Elimizde kod içinde new() kullanılarak yaratılan yani Spring tarafından yaratılmayan ve içinde @Autowired olan bir sınıf varsa onu donatmak için kullanılır.
Sanırım bu arayüzün en önemli metodu initializeBean()

Kalıtım şöyle
BeanFactory
  AutowireCapableBeanFactory



applyBeanPropertyValues metodu
Örnek ver

autowireBean metodu
Açıklaması şöyle.
just populates our bean without applying specific post processors (e.g. @PostConstruct, etc).
Örnek
Elimizde Spring tarafından yaratılmayan ve içinde Autowired olan bir sınıf olsun.
public class Foo {
  @Autowired
  private ServiceJob serviceJob;
  ...
}
Şöyle yaparız.
Foo foo = ...;
applicationContext.getAutowireCapableBeanFactory().autowireBean(foo);
autowireBeanProperties metodu
Örnek ver

createBean metodu
Örnek ver

configureBean metodu
createBean

getBean metodu
Bu metod aslında BeanFactory arayüzünden geliyor.

Örnek
Şöyle yaparız
ApplicationContext applicationContext = ...;

JpaBaseConfiguration jpaConfig = null;

AutowireCapableBeanFactory autowireCapableBeanFactory = applicationContext
  .getAutowireCapableBeanFactory();

jpaConfig = autowireCapableBeanFactory.getBean(JpaBaseConfiguration.class);
initializeBean metodu
Açıklaması şöyle.
just populates our bean without applying specific post processors (e.g. @PostConstruct, etc).
Örnek
Eger Foo içinde @PostConstruct varsa şöyle yaparız.
applicationContext.getAutowireCapableBeanFactory().initializeBean(foo, null);
Bean'i silmek için şöyle yaparız.
BeanDefinitionRegistry factory = (BeanDefinitionRegistry)
  context.getAutowireCapableBeanFactory();
factory.removeBeanDefinition("MyBean");

Hiç yorum yok:

Yorum Gönder