spring学习(42):属性注入注入数组和列表的说明
生活随笔
收集整理的這篇文章主要介紹了
spring学习(42):属性注入注入数组和列表的说明
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄結構
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"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"><property name="title" value="告白氣球"/><property name="duration" value="215"/></bean><bean id="music2" class="com.geyao.demo.soundSystem.Music"><property name="title" value="愛情廢材"/><property name="duration" value="215"/></bean><bean id="compactDisc2" class="com.geyao.demo.soundSystem.CompactDisc"><property name="title" value="愛情廢材"/><property name="artist" value="周杰倫"/><property name="tracks" ><array><!--<value>i do 1</value><value>i do 2</value><value>i do 3</value><ref bean="music1"/><ref bean="music2"/><ref bean="music3"/><ref bean="music3"/><entry key="m1" value-ref="music1"/><entry key="m2" value-ref="music2"/><entry key="m3" value-ref="music3"/> --><ref bean="music1"/><ref bean="music2"/></array></property></bean></beans>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=ERRORCompactDisc類
package com.geyao.demo.soundSystem;import java.util.List; import java.util.Map; import java.util.Set;public class CompactDisc {private String title;private String artist;private Music[] tracks;public CompactDisc() {super();System.out.println("compactdisc構造函數");}public CompactDisc(String title,String artist){this.title =title;this.artist=artist;System.out.println("compactDisc的有殘構造函數"+this.toString());}public CompactDisc(String title, String artist, Music[] tracks) {this.title = title;this.artist = artist;this.tracks = tracks;System.out.println("s三個方法的構造函數");}public String getTitle() {return title;}public void setTitle(String title) {this.title = title;System.out.println("一再"+this.toString()+"中注入title");}public String getArtist() {return artist;}public void setArtist(String artist) {this.artist = artist;System.out.println("一再"+this.toString()+"中注入artist");}public Music[] getTracks() {return tracks;}public void setTracks(Music[] tracks) {this.tracks = tracks;System.out.println("一再"+this.toString()+"中注入tracks");}public void play(){System.out.println("播放cd音樂"+this.toString()+""+this.title+""+this.artist);for(Music track:this.tracks){System.out.println("音樂"+track.getTitle()+"時長"+track.getDuration());}//for(String key:this.tracks.keySet()){// System.out.println("key:"+key);// Music music=this.tracks.get(key);// System.out.println("音樂"+music.getTitle()+"時長"+music.getDuration());// }} }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;System.out.println("一再"+this.toString()+"中注入title");}public Integer getDuration() {return duration;}public void setDuration(Integer duration) {this.duration = duration;System.out.println("一再"+this.toString()+"中注入duration");}public Music() {super();System.out.println("Music的狗只函數。。。"+this.toString());}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();}}Apptest類
package com.geyao.demo.souundSystem;import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration("classpath:applicationContext.xml") public class AppTestSX {@Testpublic void test(){} }運行結果
Music的狗只函數。。。com.geyao.demo.soundSystem.Music@a530d0a 一再com.geyao.demo.soundSystem.Music@a530d0a中注入title 一再com.geyao.demo.soundSystem.Music@a530d0a中注入duration Music的狗只函數。。。com.geyao.demo.soundSystem.Music@1b11171f 一再com.geyao.demo.soundSystem.Music@1b11171f中注入title 一再com.geyao.demo.soundSystem.Music@1b11171f中注入duration compactdisc構造函數 一再com.geyao.demo.soundSystem.CompactDisc@29215f06中注入title 一再com.geyao.demo.soundSystem.CompactDisc@29215f06中注入artist 一再com.geyao.demo.soundSystem.CompactDisc@29215f06中注入tracks?
總結
以上是生活随笔為你收集整理的spring学习(42):属性注入注入数组和列表的说明的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 犀牛Rhino中Grasshopper插
- 下一篇: 数据库---JDBC