工具类
创建工具类如下
@Component
public class SpringUtil implements ApplicationContextAware {
private static ApplicationContext applicationContext;
@Override
public void setApplicationContext(@NotNull ApplicationContext applicationContext) throws BeansException {
if (SpringUtil.applicationContext == null) {
SpringUtil.applicationContext = applicationContext;
}
}
// 通过name获取 Bean
@NotNull
public static Object getBean(String name) {
return applicationContext.getBean(name);
}
// 通过class获取Bean
@NotNull
public static <T> T getBean(Class<T> clazz) {
return applicationContext.getBean(clazz);
}
// 通过name,以及Clazz返回指定的Bean
@NotNull
public static <T> T getBean(String name, Class<T> clazz) {
return applicationContext.getBean(name, clazz);
}
}
使用方式
public void method() {
UserDao userDao = SpringUtil.getBean(UserDao.class);
...
}