Skip to content
This repository has been archived by the owner on Apr 16, 2024. It is now read-only.

Commit

Permalink
[ch10] DI Test using BeanDefinition
Browse files Browse the repository at this point in the history
  • Loading branch information
dhsim86 committed Nov 3, 2018
1 parent 263a2b7 commit a107787
Showing 1 changed file with 19 additions and 0 deletions.
19 changes: 19 additions & 0 deletions src/test/java/ch10/springbook/_00/ApplicationContextTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import org.junit.Test;
import org.springframework.beans.factory.config.BeanDefinition;
import org.springframework.beans.factory.config.RuntimeBeanReference;
import org.springframework.beans.factory.support.RootBeanDefinition;
import org.springframework.context.support.StaticApplicationContext;

Expand Down Expand Up @@ -31,4 +32,22 @@ public void RegisterBeanTest() {
assertThat(sc.getBeanFactory().getBeanDefinitionCount(), is(2));
}

@Test
public void registerBeanWithDependency() {
StaticApplicationContext sc = new StaticApplicationContext();

sc.registerBeanDefinition("printer", new RootBeanDefinition(StringPrinter.class));

BeanDefinition helloDef = new RootBeanDefinition(Hello.class);
helloDef.getPropertyValues().addPropertyValue("name", "Spring");
helloDef.getPropertyValues().addPropertyValue("printer", new RuntimeBeanReference("printer"));

sc.registerBeanDefinition("hello", helloDef);

Hello hello = sc.getBean("hello", Hello.class);
hello.print();

assertThat(sc.getBean("printer").toString(), is("Hello Spring"));
}

}

0 comments on commit a107787

Please sign in to comment.