From 88fb6efea29523f68b1bab753d8eb2485e23c869 Mon Sep 17 00:00:00 2001 From: tomas Date: Wed, 17 Jan 2018 22:26:19 +0100 Subject: [PATCH 1/5] iagotomas@gmail.com --- .../src/main/java/com/baeldung/MyBean.java | 22 +++++++++++++++++++ .../java/com/baeldung/MyInjectedBean.java | 5 +++++ 2 files changed, 27 insertions(+) create mode 100644 spring-core/src/main/java/com/baeldung/MyBean.java create mode 100644 spring-core/src/main/java/com/baeldung/MyInjectedBean.java diff --git a/spring-core/src/main/java/com/baeldung/MyBean.java b/spring-core/src/main/java/com/baeldung/MyBean.java new file mode 100644 index 000000000000..f4ccc86c2838 --- /dev/null +++ b/spring-core/src/main/java/com/baeldung/MyBean.java @@ -0,0 +1,22 @@ +package com.baeldung; + +import org.springframework.beans.factory.annotation.Autowired; + + +public class MyBean { + + private MyInjectedBean myInjectedBean; + + // Constructor injection + @Autowired + public MyBean(MyInjectedBean myInjectedBean) { + this.myInjectedBean = myInjectedBean; + } + + // Setter injection + @Autowired + public void setMyInjectedBean(MyInjectedBean myInjectedBean) { + this.myInjectedBean = myInjectedBean; + } + +} diff --git a/spring-core/src/main/java/com/baeldung/MyInjectedBean.java b/spring-core/src/main/java/com/baeldung/MyInjectedBean.java new file mode 100644 index 000000000000..185463b022e8 --- /dev/null +++ b/spring-core/src/main/java/com/baeldung/MyInjectedBean.java @@ -0,0 +1,5 @@ +package com.baeldung; + +public class MyInjectedBean +{ +} From 27451778a76527295d68c58e36365ab00dd6ce8f Mon Sep 17 00:00:00 2001 From: tomas Date: Wed, 17 Jan 2018 22:27:28 +0100 Subject: [PATCH 2/5] iagotomas@gmail.com --- .../src/main/resources/beaninjectiontypes-context.xml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/spring-core/src/main/resources/beaninjectiontypes-context.xml b/spring-core/src/main/resources/beaninjectiontypes-context.xml index dfdea41cdce8..ac7964ed7227 100644 --- a/spring-core/src/main/resources/beaninjectiontypes-context.xml +++ b/spring-core/src/main/resources/beaninjectiontypes-context.xml @@ -19,4 +19,13 @@ + + + + + + + + + \ No newline at end of file From e3ee18cdabb259c88da54e3f20d563809680086e Mon Sep 17 00:00:00 2001 From: tomas Date: Mon, 22 Jan 2018 22:13:42 +0100 Subject: [PATCH 3/5] iagotomas@gmail.com --- .../ConstructorInjection.java | 18 +++++++++ .../MyInjectedBean.java | 10 +++++ .../SetterInjection.java | 19 ++++++++++ .../InjectionTest.java | 38 +++++++++++++++++++ 4 files changed, 85 insertions(+) create mode 100644 spring-core/src/main/java/com/baeldung/dependencyinjectiontypes/ConstructorInjection.java create mode 100644 spring-core/src/main/java/com/baeldung/dependencyinjectiontypes/MyInjectedBean.java create mode 100644 spring-core/src/main/java/com/baeldung/dependencyinjectiontypes/SetterInjection.java create mode 100644 spring-core/src/test/java/com/baeldung/dependencyinjectiontypes/InjectionTest.java diff --git a/spring-core/src/main/java/com/baeldung/dependencyinjectiontypes/ConstructorInjection.java b/spring-core/src/main/java/com/baeldung/dependencyinjectiontypes/ConstructorInjection.java new file mode 100644 index 000000000000..ac5a6621fbf3 --- /dev/null +++ b/spring-core/src/main/java/com/baeldung/dependencyinjectiontypes/ConstructorInjection.java @@ -0,0 +1,18 @@ +package com.baeldung.dependencyinjectiontypes; + +import org.springframework.beans.factory.annotation.Autowired; + + +public class ConstructorInjection { + + private MyInjectedBean myInjectedBean; + + @Autowired + public ConstructorInjection(MyInjectedBean myInjectedBean) { + this.myInjectedBean = myInjectedBean; + } + + public MyInjectedBean getMyInjectedBean() { + return myInjectedBean; + } +} diff --git a/spring-core/src/main/java/com/baeldung/dependencyinjectiontypes/MyInjectedBean.java b/spring-core/src/main/java/com/baeldung/dependencyinjectiontypes/MyInjectedBean.java new file mode 100644 index 000000000000..64bdb80a98c8 --- /dev/null +++ b/spring-core/src/main/java/com/baeldung/dependencyinjectiontypes/MyInjectedBean.java @@ -0,0 +1,10 @@ +package com.baeldung.dependencyinjectiontypes; + +import org.springframework.stereotype.Component; + + +@Component +public class MyInjectedBean +{ + +} diff --git a/spring-core/src/main/java/com/baeldung/dependencyinjectiontypes/SetterInjection.java b/spring-core/src/main/java/com/baeldung/dependencyinjectiontypes/SetterInjection.java new file mode 100644 index 000000000000..a8ac059599aa --- /dev/null +++ b/spring-core/src/main/java/com/baeldung/dependencyinjectiontypes/SetterInjection.java @@ -0,0 +1,19 @@ +package com.baeldung.dependencyinjectiontypes; + +import org.springframework.beans.factory.annotation.Autowired; + + +public class SetterInjection +{ + + private MyInjectedBean myInjectedBean; + + @Autowired + public void setMyInjectedBean(MyInjectedBean myInjectedBean) { + this.myInjectedBean = myInjectedBean; + } + + public MyInjectedBean getMyInjectedBean() { + return myInjectedBean; + } +} diff --git a/spring-core/src/test/java/com/baeldung/dependencyinjectiontypes/InjectionTest.java b/spring-core/src/test/java/com/baeldung/dependencyinjectiontypes/InjectionTest.java new file mode 100644 index 000000000000..327a0102515d --- /dev/null +++ b/spring-core/src/test/java/com/baeldung/dependencyinjectiontypes/InjectionTest.java @@ -0,0 +1,38 @@ +package com.baeldung.dependencyinjectiontypes; + +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.springframework.context.annotation.AnnotationConfigApplicationContext; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + + +public class InjectionTest +{ + + private AnnotationConfigApplicationContext ctx; + + @Before + public void setUp() { + ctx = new AnnotationConfigApplicationContext(MyInjectedBean.class, ConstructorInjection.class, SetterInjection.class); + } + + @Test + public void testConstructorInjection() { + ConstructorInjection constructorInjection = ctx.getBean(ConstructorInjection.class); + Assert.assertNotNull(constructorInjection.getMyInjectedBean()); + } + + @Test + public void testSetterInjection() { + SetterInjection setterInjection = ctx.getBean(SetterInjection.class); + Assert.assertNotNull(setterInjection.getMyInjectedBean()); + } + + @Test + public void testSetterInjectionNonMandatory() { + SetterInjection setterInjection = new SetterInjection(); + Assert.assertNull(setterInjection.getMyInjectedBean()); + } +} From f7ccd9a32fda8ff7dd1505fd44adc33970baeee7 Mon Sep 17 00:00:00 2001 From: tomas Date: Mon, 22 Jan 2018 22:20:03 +0100 Subject: [PATCH 4/5] iagotomas@gmail.com --- .../baeldung/dependencyinjectiontypes/ConstructorInjection.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-core/src/main/java/com/baeldung/dependencyinjectiontypes/ConstructorInjection.java b/spring-core/src/main/java/com/baeldung/dependencyinjectiontypes/ConstructorInjection.java index ac5a6621fbf3..5c3710365e54 100644 --- a/spring-core/src/main/java/com/baeldung/dependencyinjectiontypes/ConstructorInjection.java +++ b/spring-core/src/main/java/com/baeldung/dependencyinjectiontypes/ConstructorInjection.java @@ -5,7 +5,7 @@ public class ConstructorInjection { - private MyInjectedBean myInjectedBean; + private final MyInjectedBean myInjectedBean; @Autowired public ConstructorInjection(MyInjectedBean myInjectedBean) { From 6ba7035f0674894f5ca033f6e5385e298fc7df76 Mon Sep 17 00:00:00 2001 From: tomas Date: Mon, 22 Jan 2018 23:18:11 +0100 Subject: [PATCH 5/5] iagotomas@gmail.com --- .../src/main/java/com/baeldung/MyBean.java | 22 ------------------- .../java/com/baeldung/MyInjectedBean.java | 5 ----- .../resources/beaninjectiontypes-context.xml | 9 -------- 3 files changed, 36 deletions(-) delete mode 100644 spring-core/src/main/java/com/baeldung/MyBean.java delete mode 100644 spring-core/src/main/java/com/baeldung/MyInjectedBean.java diff --git a/spring-core/src/main/java/com/baeldung/MyBean.java b/spring-core/src/main/java/com/baeldung/MyBean.java deleted file mode 100644 index f4ccc86c2838..000000000000 --- a/spring-core/src/main/java/com/baeldung/MyBean.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.baeldung; - -import org.springframework.beans.factory.annotation.Autowired; - - -public class MyBean { - - private MyInjectedBean myInjectedBean; - - // Constructor injection - @Autowired - public MyBean(MyInjectedBean myInjectedBean) { - this.myInjectedBean = myInjectedBean; - } - - // Setter injection - @Autowired - public void setMyInjectedBean(MyInjectedBean myInjectedBean) { - this.myInjectedBean = myInjectedBean; - } - -} diff --git a/spring-core/src/main/java/com/baeldung/MyInjectedBean.java b/spring-core/src/main/java/com/baeldung/MyInjectedBean.java deleted file mode 100644 index 185463b022e8..000000000000 --- a/spring-core/src/main/java/com/baeldung/MyInjectedBean.java +++ /dev/null @@ -1,5 +0,0 @@ -package com.baeldung; - -public class MyInjectedBean -{ -} diff --git a/spring-core/src/main/resources/beaninjectiontypes-context.xml b/spring-core/src/main/resources/beaninjectiontypes-context.xml index ac7964ed7227..dfdea41cdce8 100644 --- a/spring-core/src/main/resources/beaninjectiontypes-context.xml +++ b/spring-core/src/main/resources/beaninjectiontypes-context.xml @@ -19,13 +19,4 @@ - - - - - - - - - \ No newline at end of file