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ızApplicationContext applicationContext = ...;
JpaBaseConfiguration jpaConfig = null;
AutowireCapableBeanFactory autowireCapableBeanFactory = applicationContext
.getAutowireCapableBeanFactory();
jpaConfig = autowireCapableBeanFactory.getBean(JpaBaseConfiguration.class);
initializeBean metoduAçı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