diff --git a/spring-boot/dependency-injection/src/main/java/com/example/ExampleApplicationCI.java b/spring-boot/dependency-injection/src/main/java/com/example/ExampleApplicationCI.java index fd9d088..8053065 100644 --- a/spring-boot/dependency-injection/src/main/java/com/example/ExampleApplicationCI.java +++ b/spring-boot/dependency-injection/src/main/java/com/example/ExampleApplicationCI.java @@ -1,10 +1,10 @@ package com.example; +import com.example.constructorinjection.Cake; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.ApplicationContext; -import com.example.constructorinjection.Cake; @SpringBootApplication(scanBasePackages = { "com.example.constructorinjection", "com.example.dependency" }) public class ExampleApplicationCI { diff --git a/spring-boot/dependency-injection/src/main/java/com/example/ExampleApplicationFI.java b/spring-boot/dependency-injection/src/main/java/com/example/ExampleApplicationFI.java index 249e59f..1e7d472 100644 --- a/spring-boot/dependency-injection/src/main/java/com/example/ExampleApplicationFI.java +++ b/spring-boot/dependency-injection/src/main/java/com/example/ExampleApplicationFI.java @@ -11,7 +11,7 @@ public class ExampleApplicationFI { public static void main(String[] args) { - ApplicationContext context = SpringApplication.run(ExampleApplicationSI.class, args); + ApplicationContext context = SpringApplication.run(ExampleApplicationFI.class, args); IceCream obj = context.getBean(IceCream.class); System.out.println("IceCream : " + obj.toString()); } diff --git a/spring-boot/dependency-injection/src/main/java/com/example/constructorinjection/Cake.java b/spring-boot/dependency-injection/src/main/java/com/example/constructorinjection/Cake.java index 1622df3..ffbb159 100644 --- a/spring-boot/dependency-injection/src/main/java/com/example/constructorinjection/Cake.java +++ b/spring-boot/dependency-injection/src/main/java/com/example/constructorinjection/Cake.java @@ -12,13 +12,8 @@ public class Cake { private Flavor flavor; Cake(Flavor flavor) { - - // check if the required dependency is not null - if (Objects.requireNonNull(flavor) != null) { - this.flavor = flavor; - } else { - throw new IllegalArgumentException("Cake cannot be created with null flavor object"); - } + Objects.requireNonNull(flavor); + this.flavor = flavor; } public Flavor getFlavor() { diff --git a/spring-boot/dependency-injection/src/main/java/com/example/constructorinjection/Sandwich.java b/spring-boot/dependency-injection/src/main/java/com/example/constructorinjection/Sandwich.java index 2ad7f64..b412cd3 100644 --- a/spring-boot/dependency-injection/src/main/java/com/example/constructorinjection/Sandwich.java +++ b/spring-boot/dependency-injection/src/main/java/com/example/constructorinjection/Sandwich.java @@ -9,8 +9,8 @@ import com.example.dependency.Topping; @Component public class Sandwich { - Topping toppings; - Bread breadType; + private Topping toppings; + private Bread breadType; Sandwich(Topping toppings) { this.toppings = toppings; diff --git a/spring-boot/dependency-injection/src/main/java/com/example/dependency/Pizza.java b/spring-boot/dependency-injection/src/main/java/com/example/dependency/Pizza.java index 632ae94..0509e9e 100644 --- a/spring-boot/dependency-injection/src/main/java/com/example/dependency/Pizza.java +++ b/spring-boot/dependency-injection/src/main/java/com/example/dependency/Pizza.java @@ -7,15 +7,13 @@ import org.springframework.stereotype.Component; public class Pizza { @Autowired - Topping toppings; + private Topping toppings; Pizza(Topping toppings) { this.toppings = toppings; } - @Autowired public Topping getToppings() { - System.out.println("Using field injection - " + this.toppings); return toppings; } diff --git a/spring-boot/dependency-injection/src/main/java/com/example/fieldinjection/IceCream.java b/spring-boot/dependency-injection/src/main/java/com/example/fieldinjection/IceCream.java index 3d4d1bc..f40dc78 100644 --- a/spring-boot/dependency-injection/src/main/java/com/example/fieldinjection/IceCream.java +++ b/spring-boot/dependency-injection/src/main/java/com/example/fieldinjection/IceCream.java @@ -9,13 +9,14 @@ import com.example.dependency.Topping; public class IceCream { @Autowired - Topping toppings; + private Topping toppings; public Topping getToppings() { return toppings; } void setToppings(Topping toppings) { + System.out.println("Using setter injection - " + this.toppings); this.toppings = toppings; } diff --git a/spring-boot/dependency-injection/src/test/java/com/example/test/constructorinjection/TestCakeClassConstructorInjection.java b/spring-boot/dependency-injection/src/test/java/com/example/constructorinjection/TestCakeClassConstructorInjection.java similarity index 74% rename from spring-boot/dependency-injection/src/test/java/com/example/test/constructorinjection/TestCakeClassConstructorInjection.java rename to spring-boot/dependency-injection/src/test/java/com/example/constructorinjection/TestCakeClassConstructorInjection.java index 6513343..61d08c2 100644 --- a/spring-boot/dependency-injection/src/test/java/com/example/test/constructorinjection/TestCakeClassConstructorInjection.java +++ b/spring-boot/dependency-injection/src/test/java/com/example/constructorinjection/TestCakeClassConstructorInjection.java @@ -1,24 +1,19 @@ -package com.example.test.constructorinjection; +package com.example.constructorinjection; +import com.example.ExampleApplicationCI; import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; -import org.mockito.InjectMocks; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import com.example.ExampleApplicationCI; -import com.example.constructorinjection.Cake; - @RunWith(SpringJUnit4ClassRunner.class) @SpringBootTest(classes = ExampleApplicationCI.class) public class TestCakeClassConstructorInjection { -// @Mock -// Flavor flavor; - - @InjectMocks - Cake cake; + @Autowired + private Cake cake; @Test public void testConstructorInjection() { diff --git a/spring-boot/dependency-injection/src/test/java/com/example/test/fieldinjection/TestCookieClassFieldInjection.java b/spring-boot/dependency-injection/src/test/java/com/example/fieldinjection/TestCookieClassFieldInjection.java similarity index 64% rename from spring-boot/dependency-injection/src/test/java/com/example/test/fieldinjection/TestCookieClassFieldInjection.java rename to spring-boot/dependency-injection/src/test/java/com/example/fieldinjection/TestCookieClassFieldInjection.java index 6a1a2ca..6675b09 100644 --- a/spring-boot/dependency-injection/src/test/java/com/example/test/fieldinjection/TestCookieClassFieldInjection.java +++ b/spring-boot/dependency-injection/src/test/java/com/example/fieldinjection/TestCookieClassFieldInjection.java @@ -1,24 +1,25 @@ -package com.example.test.fieldinjection; +package com.example.fieldinjection; +import com.example.ExampleApplicationFI; import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.InjectMocks; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import com.example.ExampleApplicationSI; -import com.example.fieldinjection.IceCream; @RunWith(SpringJUnit4ClassRunner.class) -@SpringBootTest(classes = ExampleApplicationSI.class) +@SpringBootTest(classes = ExampleApplicationFI.class) public class TestCookieClassFieldInjection { - @InjectMocks - IceCream iceCream; + @Autowired + private IceCream iceCream; @Test - public void testSetterInjection() { + public void testFieldInjection() { System.out.println(iceCream.toString()); Assert.assertNotNull(iceCream.getToppings()); } diff --git a/spring-boot/dependency-injection/src/test/java/com/example/test/setterinjection/TestCakeClassSetterInjection.java b/spring-boot/dependency-injection/src/test/java/com/example/setterinjection/TestCakeClassSetterInjection.java similarity index 58% rename from spring-boot/dependency-injection/src/test/java/com/example/test/setterinjection/TestCakeClassSetterInjection.java rename to spring-boot/dependency-injection/src/test/java/com/example/setterinjection/TestCakeClassSetterInjection.java index e54dc6c..e467685 100644 --- a/spring-boot/dependency-injection/src/test/java/com/example/test/setterinjection/TestCakeClassSetterInjection.java +++ b/spring-boot/dependency-injection/src/test/java/com/example/setterinjection/TestCakeClassSetterInjection.java @@ -1,4 +1,4 @@ -package com.example.test.setterinjection; +package com.example.setterinjection; import org.junit.Assert; import org.junit.Test; @@ -8,25 +8,17 @@ import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import com.example.ExampleApplicationSI; -import com.example.setterinjection.Cake; @RunWith(SpringJUnit4ClassRunner.class) @SpringBootTest(classes = ExampleApplicationSI.class) public class TestCakeClassSetterInjection { @Autowired - Cake cake; + private Cake cake; @Test public void testSetterInjection() { - String testColor = cake.getFlavor().getColor(); - Assert.assertEquals(testColor, " White "); - String toppingsName=cake.getToppings().getToppingName(); - - //check if the dependency is not null - if(toppingsName!=null) { - Assert.assertEquals(toppingsName, "gems"); - } - + Assert.assertNotNull(cake.getFlavor()); + Assert.assertNotNull(cake.getToppings()); } }