通过ObjectProvider进行依赖查找
生活随笔
收集整理的這篇文章主要介紹了
通过ObjectProvider进行依赖查找
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
public class ObjectProviderDemo { // @Configuration 是非必須注解public static void main(String[] args) {// 創建 BeanFactory 容器AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext();// 將當前類 ObjectProviderDemo 作為配置類(Configuration Class)applicationContext.register(ObjectProviderDemo.class);// 啟動應用上下文applicationContext.refresh();// 依賴查找集合對象lookupByObjectProvider(applicationContext);lookupIfAvailable(applicationContext);lookupByStreamOps(applicationContext);// 關閉應用上下文applicationContext.close();}private static void lookupByStreamOps(AnnotationConfigApplicationContext applicationContext) {ObjectProvider<String> objectProvider = applicationContext.getBeanProvider(String.class);
// Iterable<String> stringIterable = objectProvider;
// for (String string : stringIterable) {
// System.out.println(string);
// }// Stream -> Method referenceobjectProvider.stream().forEach(System.out::println);}private static void lookupIfAvailable(AnnotationConfigApplicationContext applicationContext) {ObjectProvider<User> userObjectProvider = applicationContext.getBeanProvider(User.class);User user = userObjectProvider.getIfAvailable(User::createUser);System.out.println("當前 User 對象:" + user);}@Bean@Primarypublic String helloWorld() { // 方法名就是 Bean 名稱 = "helloWorld"return "Hello,World";}@Beanpublic String message() {return "Message";}private static void lookupByObjectProvider(AnnotationConfigApplicationContext applicationContext) {ObjectProvider<String> objectProvider = applicationContext.getBeanProvider(String.class);System.out.println(objectProvider.getObject());}
}
?
總結
以上是生活随笔為你收集整理的通过ObjectProvider进行依赖查找的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 单体 Bean 注册实例
- 下一篇: 基于Xml 的IOC 容器-开始读取配置