Skip to content

Commit

Permalink
Lesson 8: init, destroy and factory method
Browse files Browse the repository at this point in the history
  • Loading branch information
SicMundus-s committed May 23, 2022
1 parent 76c8feb commit 89246ee
Show file tree
Hide file tree
Showing 9 changed files with 27 additions and 16 deletions.
8 changes: 8 additions & 0 deletions src/main/java/ru/volkov/springcourse/ClassicalMusic.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,14 @@
package ru.volkov.springcourse;

public class ClassicalMusic implements Music {

public void doMyInit() {
System.out.println("Doing my initialization");
}

public void doMyDestroy() {
System.out.println("Doing my destruction");
}
@Override
public String getSong() {
return "ClassicalMusic";
Expand Down
6 changes: 1 addition & 5 deletions src/main/java/ru/volkov/springcourse/MusicPlayer.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,7 @@
import java.util.List;

public class MusicPlayer {
private List<Music> musicList = new ArrayList<Music>() {{
add(new ClassicalMusic());
add(new JasMusic());
add(new RockMusic());
}};
private List<Music> musicList = new ArrayList<Music>();

private String name;
private int volume;
Expand Down
13 changes: 8 additions & 5 deletions src/main/java/ru/volkov/springcourse/TestSpring.java
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,14 @@ public static void main(String args[]) {
//Music musicJas = context.getBean("musicBeanJas", Music.class);

// MusicPlayer musicPlayer = context.getBean("musicPlayer", MusicPlayer.class);

// musicPlayer.playMusic();
MusicPlayer ms = new MusicPlayer();
ms.playMusic();

//musicPlayer.playMusic();

ClassicalMusic classicalMusic = context.getBean("musicBeanClassic", ClassicalMusic.class);
ClassicalMusic classicalMusic1 = context.getBean("musicBeanClassic", ClassicalMusic.class);
ClassicalMusic classicalMusic2 = context.getBean("musicBeanClassic", ClassicalMusic.class);
System.out.println(classicalMusic.getSong());
System.out.println(classicalMusic1.getSong());
System.out.println(classicalMusic2.getSong());

context.close();
}
Expand Down
8 changes: 5 additions & 3 deletions src/main/resources/applicationContext.xml
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,10 @@

<context:property-placeholder location="classpath:musicPlayer.properties"/>

<bean id="musicBeanClassic"
class="ru.volkov.springcourse.ClassicalMusic">
<bean id="musicBeanClassic" class="ru.volkov.springcourse.ClassicalMusic" scope="prototype"
init-method="doMyInit"
destroy-method="doMyDestroy">

</bean>

<bean id="musicBeanJas"
Expand All @@ -22,7 +24,7 @@
class="ru.volkov.springcourse.RockMusic">
</bean>

<bean id="musicPlayer" class="ru.volkov.springcourse.MusicPlayer">
<bean id="musicPlayer" class="ru.volkov.springcourse.MusicPlayer" scope="prototype">
<property name='musicList'>
<list>
<ref bean="musicBeanClassic"/>
Expand Down
8 changes: 5 additions & 3 deletions target/classes/applicationContext.xml
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,10 @@

<context:property-placeholder location="classpath:musicPlayer.properties"/>

<bean id="musicBeanClassic"
class="ru.volkov.springcourse.ClassicalMusic">
<bean id="musicBeanClassic" class="ru.volkov.springcourse.ClassicalMusic" scope="prototype"
init-method="doMyInit"
destroy-method="doMyDestroy">

</bean>

<bean id="musicBeanJas"
Expand All @@ -22,7 +24,7 @@
class="ru.volkov.springcourse.RockMusic">
</bean>

<bean id="musicPlayer" class="ru.volkov.springcourse.MusicPlayer">
<bean id="musicPlayer" class="ru.volkov.springcourse.MusicPlayer" scope="prototype">
<property name='musicList'>
<list>
<ref bean="musicBeanClassic"/>
Expand Down
Binary file modified target/classes/ru/volkov/springcourse/ClassicalMusic.class
Binary file not shown.
Binary file not shown.
Binary file modified target/classes/ru/volkov/springcourse/MusicPlayer.class
Binary file not shown.
Binary file modified target/classes/ru/volkov/springcourse/TestSpring.class
Binary file not shown.

0 comments on commit 89246ee

Please sign in to comment.