在非 Spring 管理的类中获取 Bean 的利器
在非 Spring 管理的类中获取 Bean 的利器
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
import lombok.NonNull;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;
import java.util.Objects;
@Component
public class SpringContextHolder implements ApplicationContextAware {
private static ApplicationContext context;
@Override
public void setApplicationContext(@NonNull ApplicationContext applicationContext) {
SpringContextHolder.context = applicationContext;
}
public static <T> T getBean(Class<T> clazz) {
Objects.requireNonNull(context);
return context.getBean(clazz);
}
public static Object getBean(String name) {
Objects.requireNonNull(context);
return context.getBean(name);
}
}
本博客所有文章除特别声明外,均采用
CC BY-NC-SA 4.0
许可协议,转载请注明出处!