Spring的手动注入,动态注入
参数说明:
Object bean,就是一个已经被创建的实例;
ApplicationContext:Spring的Context;
AutowireCapableBeanFactory.AUTOWIRE_BY_NAME:按照名字来注入,注入类型。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
Java代码 /** * 调用spring注入新创建对象的相关属性(根据属性名进行注入) * * @param bean * @param appContext */ public static void autowireBean(Object bean, ApplicationContext appContext) { autowireBean(bean, appContext, AutowireCapableBeanFactory.AUTOWIRE_BY_NAME); } /** * 调用spring注入新创建对象的相关属性 * * @param bean * @param appContext * @param autowireMode */ public static void autowireBean(Object bean, ApplicationContext appContext, int autowireMode) { if (bean == null || appContext == null) { return; } AutowireCapableBeanFactory factory = appContext.getAutowireCapableBeanFactory(); factory.autowireBeanProperties(bean, autowireMode, false); String beanName = ClassUtils.getUserClass(bean).getName(); factory.initializeBean(bean, beanName); } |
