目录结构

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.geyao</groupId><artifactId>spring01geyao</artifactId><version>1.0-SNAPSHOT</version><dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>4.3.13.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>3.2.0.RELEASE</version></dependency><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>4.3.4.RELEASE</version><scope>test</scope></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>4.3.4.RELEASE</version><scope>test</scope></dependency></dependencies>
</project>

applictioncontext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:c="http://www.springframework.org/schema/c"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"><!--bean元素:描述当前的对象需要由spring容器管理id属性:标识对象 未来在应用程序中可以根据id获取对象class对象:被管理的对象的全名--><bean id="music1" class="com.geyao.demo.soundSystem.Music"><constructor-arg value="i do 1"/><constructor-arg value="270"/></bean><bean id="music2" class="com.geyao.demo.soundSystem.Music"><constructor-arg value="i do 2"/><constructor-arg value="270"/></bean><bean id="music3" class="com.geyao.demo.soundSystem.Music"><constructor-arg value="i do 3"/><constructor-arg value="270"/></bean>
<bean id="compactDisc1"  class="com.geyao.demo.soundSystem.CompactDisc"><constructor-arg name="title" value="I Do"/><constructor-arg name="artist" value="莫文蔚"/><constructor-arg name="tracks"><list><!--<value>i do 1</value><value>i do 2</value><value>i do 3</value>--><ref bean="music1"/><ref bean="music2"/><ref bean="music3"/></list></constructor-arg>
</bean>
</beans><!-- <bean name="compactDisc2" class="com.geyao.demo.soundSystem.CompactDisc"></bean><bean name="cdPlayer1" class="com.geyao.demo.soundSystem.CDPlayer"><constructor-arg ref="compactDisc1"/></bean><bean name="cdPlayer2" class="com.geyao.demo.soundSystem.CDPlayer" c:cd-ref="compactDisc2"></bean>-->

log4j.properties

### 设置###
log4j.rootLogger = ERROR,stdout### 输出信息到控制抬 ###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n
log4j.category.org.springframework.beans.factory=ERROR

CompactDisc类

import com.geyao.demo.soundSystem.CompactDisc;
import org.springframework.context.support.ClassPathXmlApplicationContext;public class ApplicationSpring {public static void main(String[] args){System.out.println("Application ");ClassPathXmlApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");CompactDisc cd=context.getBean(CompactDisc.class);cd.play();}
}

Music类

package com.geyao.demo.soundSystem;public class Music {private String title;private Integer duration;public String getTitle() {return title;}public void setTitle(String title) {this.title = title;}public Integer getDuration() {return duration;}public void setDuration(Integer duration) {this.duration = duration;}public Music() {super();}public Music(String title, Integer duration) {this.title = title;this.duration = duration;}
}

cdplayer类

package com.geyao.demo.soundSystem;public class CDPlayer {private CompactDisc cd;public CDPlayer() {super();System.out.println("cdplayer的构造方法"+this.toString());}public CDPlayer(CompactDisc cd){this.cd=cd;System.out.println("cdplayer的有残构造方法");}public void play(){cd.play();}
}

ApplicationSpring类

import com.geyao.demo.soundSystem.CompactDisc;
import org.springframework.context.support.ClassPathXmlApplicationContext;public class ApplicationSpring {public static void main(String[] args){System.out.println("Application ");ClassPathXmlApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");CompactDisc cd1=(CompactDisc) context.getBean("compactDisc1");CompactDisc cd2=(CompactDisc) context.getBean("compactDisc2");cd1.play();cd2.play();}
}

appTest类

package com.geyao.demo.souundSystem;import com.geyao.demo.soundSystem.CompactDisc;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:applicationContext.xml")
public class AppTest {@Autowiredprivate CompactDisc compactDisc1;//@Autowired//private CompactDisc compactDisc12;//@Autowired//@Qualifier("compacDisc2")// private CompactDisc compactDisc3;@Testpublic void testApp(){compactDisc1.play();// compactDisc12.play();// compactDisc3.play();}}

CDplayerTest

package com.geyao.demo.souundSystem;import com.geyao.demo.soundSystem.CDPlayer;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:applicationContext.xml")
public class CDplayerTest {@Autowiredprivate CDPlayer cdPlayer1;@Autowiredprivate CDPlayer cdPlayer2;@Testpublic void test01(){cdPlayer1.play();}@Testpublic void test02(){cdPlayer1.play();}}

运行结果

s三个方法的构造函数
播放cd音乐com.geyao.demo.soundSystem.CompactDisc@4d1c005eI Do莫文蔚
音乐i do 1时长270
音乐i do 2时长270
音乐i do 3时长270

spring学习(37):注入list类型相关推荐

  1. Spring配置文件中注入复杂类型属性

    Spring在整合其他框架时在配置文件中可能会涉及到复杂类型属性的注入,以下举例说明: 1.数组类型 2.List集合类型 3.Set集合类型 4.Map集合类型 5.Properties属性类型 直 ...

  2. Spring学习笔记-注入实战篇

    spring对各种数据类型都提供了注入支持,像java基本类型,对象,集合等,这篇文章以代码实践为主,代码注释中会解释注入的细节 测试类中包含了我们编程中最常见的数据结构 package com.cr ...

  3. spring学习之springMVC 返回类型选择 以及 SpringMVC中model,modelMap.request,session取值顺序...

    spring mvc处理方法支持如下的返回方式:ModelAndView, Model, ModelMap, Map,View, String, void.下面将对具体的一一进行说明:ModelAnd ...

  4. Spring.NET学习笔记8——集合类型的注入(基础篇) Level 200

    Spring.NET还支持集合类型的注入.而且使用起来也比较方便. 一.ILIst类型 使用<list>元素作为ILIst的标签,value为集合中元素的值.也可以注入对象,甚至关联其它对 ...

  5. factorybean 代理类不能按照类型注入_《Spring入门经典》:使用Spring进行依赖注入

    第二章:使用Spring进行依赖注入 重点:配置并使用Spring容器 使用不同类型的配置元数据来配置Spring容器 理解依赖解析 了解自动装配的优缺点 在容器中执行显式Bean查找 学习不同的Be ...

  6. spring学习笔记03-spring-DI-依赖注入详解(通过xml配置文件来配置依赖注入)

    spring学习笔记03-spring-DI-依赖注入详解 1.概念 2.构造函数注入 3.set方法注入 4.集合的注入 需要被注入的实体对象 package com.itheima.service ...

  7. Spring问题研究之bean的属性xml注入List类型不匹配

    一.问题描述 今天在Java群里看到"白日梦想家" 的一个提问,很有意思: 为什么 String类型的列表 通过spring的属性注入 可以注入Integer类型的元素呢? 二.问 ...

  8. Spring学习总结(一)- Spring的核心特性之依赖注入(DI)总结

    文章目录 1.Spring容器 1.1.使用应用上下文 2.装配Bean 2.1.自动化装配bean 2.1.1.创建可被发现的bean 2.1.2.@ComponentScan注解启用组件扫描 2. ...

  9. Spring学习第4篇:Spring 的依赖注入

    大家家好,我是一名网络怪咖,北漂五年.相信大家和我一样,都有一个大厂梦,作为一名资深Java选手,深知Spring重要性,现在普遍都使用SpringBoot来开发,面试的时候SpringBoot原理也 ...

  10. Spring学习第5篇:自动注入(autowire)详解

    大家家好,我是一名网络怪咖,北漂五年.相信大家和我一样,都有一个大厂梦,作为一名资深Java选手,深知Spring重要性,现在普遍都使用SpringBoot来开发,面试的时候SpringBoot原理也 ...

最新文章

  1. [CQOI2014]和谐矩阵
  2. 【福利解锁Part1】报名参与腾讯云专场活动,第一波干货内容免费放送
  3. 7.4.1 矩阵低秩近似、矩阵范数
  4. Asp.net 面向接口框架之应用程序上下文作用域组件
  5. wordpress安装_WordPress第三课:使用SOFTACULOUS安装WORDPRESS
  6. ceph docker mysql_使用Docker部署单机版Ceph
  7. java中3des cbc,js與java通用的3DES(ECB,CBC)+Base64加密編碼,解碼解密
  8. cpout引脚是干什么的_FPGA中差分信号的定义和使用(一)
  9. 验证Java编程环境是否成功时出现“'javac'不是内部或外部命令,也不是可运行的程序或批处理文件”
  10. 前端特效demo | 一起围观 10 种创意时钟
  11. 如何在 iPhone 和 iPad 上使用语音备忘录?
  12. 二叉树的宽度 java_Java语言描述二叉树的深度和宽度
  13. Rapid miner
  14. 如何导出某人微信聊天记录到电脑
  15. Debug调试报错解决方案
  16. 智能客服“下半场“:数据、技术与服务
  17. 手刃豆瓣top250排行榜
  18. 上海租房住房公积金提取
  19. ssm+Vue计算机毕业设计学生网上请假系统(程序+LW文档)
  20. 计算机制作灯笼,做灯笼日记

热门文章

  1. js分页--存储数据并进行分页
  2. python发邮件详解_python实现发送邮件详解
  3. 回顾一年的工作历程_【设备管理公司】召开20202021年度总结计划表彰暨工作述职会议...
  4. idea android 模块,IntelliJ IDEA 12 - 新的Android应用程序模块向导失败,“无法找到模块的资源目录”...
  5. 请问WCF 跟 WebService之间异同
  6. python应用领域介绍
  7. [react] React中在哪捕获错误?
  8. 手把手教你封装一个ant design的审核框组件
  9. 前端学习(3201):react插件
  10. 前端学习(3143):react-hello-react之总结生命周期