Adding jUnits for test article: Different Types of Bean Injection in Spring
This commit is contained in:
parent
261a16988d
commit
4ceff2d553
@ -8,7 +8,7 @@ public class ArticleFormatter {
|
|||||||
@SuppressWarnings("resource")
|
@SuppressWarnings("resource")
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
ApplicationContext context = new ClassPathXmlApplicationContext("dependencyinjectiontypes-context.xml");
|
ApplicationContext context = new ClassPathXmlApplicationContext("dependencyinjectiontypes-context.xml");
|
||||||
Article article = (Article) context.getBean("articleBean");
|
ArticleWithSetterInjection article = (ArticleWithSetterInjection) context.getBean("articleWithSetterInjectionBean");
|
||||||
String formattedArticle = article.format("This is a text !");
|
String formattedArticle = article.format("This is a text !");
|
||||||
|
|
||||||
System.out.print(formattedArticle);
|
System.out.print(formattedArticle);
|
||||||
|
@ -0,0 +1,17 @@
|
|||||||
|
package com.baeldung.dependencyinjectiontypes;
|
||||||
|
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
|
||||||
|
public class ArticleWithConstructorInjection {
|
||||||
|
|
||||||
|
private TextFormatter formatter;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
public ArticleWithConstructorInjection(TextFormatter formatter) {
|
||||||
|
this.formatter = formatter;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String format(String text) {
|
||||||
|
return formatter.format(text);
|
||||||
|
}
|
||||||
|
}
|
@ -2,11 +2,11 @@ package com.baeldung.dependencyinjectiontypes;
|
|||||||
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
|
||||||
public class Article {
|
public class ArticleWithSetterInjection {
|
||||||
|
|
||||||
private TextFormatter formatter;
|
private TextFormatter formatter;
|
||||||
|
|
||||||
public Article(TextFormatter formatter) {
|
public ArticleWithSetterInjection(TextFormatter formatter) {
|
||||||
this.formatter = formatter;
|
this.formatter = formatter;
|
||||||
}
|
}
|
||||||
|
|
@ -6,11 +6,18 @@
|
|||||||
|
|
||||||
<context:annotation-config/>
|
<context:annotation-config/>
|
||||||
|
|
||||||
<bean id="articleBean"
|
<bean id="articleWithSetterInjectionBean"
|
||||||
class="com.baeldung.dependencyinjectiontypes.Article">
|
class="com.baeldung.dependencyinjectiontypes.ArticleWithSetterInjection">
|
||||||
<constructor-arg ref="textFormatterBean" />
|
<constructor-arg ref="textFormatterBean" />
|
||||||
</bean>
|
</bean>
|
||||||
|
|
||||||
|
<bean id="articleWithConstructorInjectionBean"
|
||||||
|
class="com.baeldung.dependencyinjectiontypes.ArticleWithConstructorInjection">
|
||||||
|
<constructor-arg ref="textFormatterBean" />
|
||||||
|
</bean>
|
||||||
|
|
||||||
|
|
||||||
<bean id="textFormatterBean" class="com.baeldung.dependencyinjectiontypes.TextFormatter">
|
<bean id="textFormatterBean" class="com.baeldung.dependencyinjectiontypes.TextFormatter">
|
||||||
</bean>
|
</bean>
|
||||||
|
|
||||||
</beans>
|
</beans>
|
@ -0,0 +1,35 @@
|
|||||||
|
package com.baeldung.dependencyinjectiontypes;
|
||||||
|
|
||||||
|
import static org.junit.Assert.assertTrue;
|
||||||
|
|
||||||
|
import org.junit.Test;
|
||||||
|
import org.springframework.context.ApplicationContext;
|
||||||
|
import org.springframework.context.support.ClassPathXmlApplicationContext;
|
||||||
|
|
||||||
|
public class DependencyInjectionTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void givenAutowiredAnnotation_WhenSetOnSetter_ThenDependencyValid() {
|
||||||
|
|
||||||
|
ApplicationContext context = new ClassPathXmlApplicationContext("dependencyinjectiontypes-context.xml");
|
||||||
|
ArticleWithSetterInjection article = (ArticleWithSetterInjection) context.getBean("articleWithSetterInjectionBean");
|
||||||
|
|
||||||
|
String originalText = "This is a text !";
|
||||||
|
String formattedArticle = article.format(originalText);
|
||||||
|
|
||||||
|
assertTrue(originalText.toUpperCase().equals(formattedArticle));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void givenAutowiredAnnotation_WhenSetOnConstructor_ThenDependencyValid() {
|
||||||
|
|
||||||
|
ApplicationContext context = new ClassPathXmlApplicationContext("dependencyinjectiontypes-context.xml");
|
||||||
|
ArticleWithConstructorInjection article = (ArticleWithConstructorInjection) context.getBean("articleWithConstructorInjectionBean");
|
||||||
|
|
||||||
|
String originalText = "This is a text !";
|
||||||
|
String formattedArticle = article.format(originalText);
|
||||||
|
|
||||||
|
assertTrue(originalText.toUpperCase().equals(formattedArticle));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user