java – 标签在春天如何工作

我有收藏乐器;在我的SomeClass.java中,我在temp.xml文件中声明了SomeClass.java类的bean.在xml中,我将两个字符串对象添加到集合中.

我的问题是Collection是一个接口所以我无法实例化它而List也是一个接口所以我认为我们无法做到

 Collection

我想知道当我们在xml文件中使用list标签时java代码是如何工作的.意味着对象是存储在链表或arraylist还是某种类型的列表中?

最佳答案
这取决于ApplicationContext.每个实现可能不同,但您可以确定结果是List.编号documentation

Another custom namespace utility is for creating lists. The first bean
definition is identical to the Listfactorybean example except it’s a
little shorter and easier to read. The second bean definition is the
same except it uses the list-class attribute to specify what List
implementation to use. When the list-class attribute isn’t used,the
ApplicationContext will choose the implementation class.

检查implementation of ListFactoryBean,您可以看到,如果未提供特定的列表类型,则ArrayList是实例化的默认列表实现.执行此任务的代码片段是:

if (this.targetListClass != null) {
    result = (List) BeanUtils.instantiateClass(this.targetListClass);
}
else {
    result = new ArrayList(this.sourceList.size());
}

相关文章

Spring Cloud为Spring Boot应用程序提供Netflix OSS集成。 提供的功能模块包括服务发现(Eureka),断路...
Spring Cloud 学习笔记;maven配置;入门学习;基于Spring Boot 实现;服务端配置,客户端配置;
可以毫不夸张地说,这篇文章介绍的 Spring/SpringBoot 常用注解基本已经涵盖你工作中遇到的大部分常用的...
Spring中各种方式进行日期时间处理,有作用于单个实体的,也有作用于全局的,有作用于请求入参的,有作...
跨域资源共享(Cross-origin resource sharing)(CORS)是W3C的标准,大部分的浏览器都实现了这个标准...
Spring Boot使创建基于Spring的应用程序变得轻松,大部分的SpringBoot应用程序都只需要很少的Spring配置...