diff --git a/spring-core/pom.xml b/spring-core/pom.xml index 16984a387b..70002bf3c1 100644 --- a/spring-core/pom.xml +++ b/spring-core/pom.xml @@ -58,6 +58,12 @@ lombok ${lombok.version} + + org.springframework.boot + spring-boot-test + ${mockito.spring.boot.version} + test + @@ -112,6 +118,7 @@ 1.10.19 + 1.4.4.RELEASE 4.3.4.RELEASE 1 20.0 diff --git a/spring-core/src/main/java/com/baeldung/value/ClassNotManagedBySpring.java b/spring-core/src/main/java/com/baeldung/value/ClassNotManagedBySpring.java new file mode 100644 index 0000000000..0329769d3c --- /dev/null +++ b/spring-core/src/main/java/com/baeldung/value/ClassNotManagedBySpring.java @@ -0,0 +1,28 @@ +package com.baeldung.value; + +public class ClassNotManagedBySpring { + + private String customVariable; + private String anotherCustomVariable; + + public ClassNotManagedBySpring(String someInitialValue, String anotherManagedValue) { + this.customVariable = someInitialValue; + this.anotherCustomVariable = anotherManagedValue; + } + + public String getCustomVariable() { + return customVariable; + } + + public void setCustomVariable(String customVariable) { + this.customVariable = customVariable; + } + + public String getAnotherCustomVariable() { + return anotherCustomVariable; + } + + public void setAnotherCustomVariable(String anotherCustomVariable) { + this.anotherCustomVariable = anotherCustomVariable; + } +} diff --git a/spring-core/src/main/java/com/baeldung/value/InitializerBean.java b/spring-core/src/main/java/com/baeldung/value/InitializerBean.java new file mode 100644 index 0000000000..8c8634c767 --- /dev/null +++ b/spring-core/src/main/java/com/baeldung/value/InitializerBean.java @@ -0,0 +1,21 @@ +package com.baeldung.value; + +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; + +@Component +public class InitializerBean { + + private String someInitialValue; + private String anotherManagedValue; + + public InitializerBean(@Value("someInitialValue") String someInitialValue, @Value("anotherValue") String anotherManagedValue) { + this.someInitialValue = someInitialValue; + this.anotherManagedValue = anotherManagedValue; + } + + public ClassNotManagedBySpring initClass() { + return new ClassNotManagedBySpring(this.someInitialValue, this.anotherManagedValue); + } + +} diff --git a/spring-core/src/main/resources/application.properties b/spring-core/src/main/resources/application.properties new file mode 100644 index 0000000000..fdc6536237 --- /dev/null +++ b/spring-core/src/main/resources/application.properties @@ -0,0 +1,2 @@ +someInitialValue=This is only sample value +anotherValue=Another configured value \ No newline at end of file diff --git a/spring-core/src/test/java/com/baeldung/value/ClassNotManagedBySpringTest.java b/spring-core/src/test/java/com/baeldung/value/ClassNotManagedBySpringTest.java new file mode 100644 index 0000000000..d07d490642 --- /dev/null +++ b/spring-core/src/test/java/com/baeldung/value/ClassNotManagedBySpringTest.java @@ -0,0 +1,40 @@ +package com.baeldung.value; + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.boot.test.mock.mockito.MockBean; +import org.springframework.test.context.junit4.SpringRunner; + +import static junit.framework.TestCase.assertEquals; +import static org.mockito.Mockito.when; + +@RunWith(SpringRunner.class) +public class ClassNotManagedBySpringTest { + + @MockBean + private InitializerBean initializerBean; + + @Before + public void init() { + when(initializerBean.initClass()) + .thenReturn(new ClassNotManagedBySpring("This is only sample value", "Another configured value")); + } + + @Test + public void givenInitializerBean_whenInvokedInitClass_shouldInitialize() throws Exception { + + //given + ClassNotManagedBySpring classNotManagedBySpring = initializerBean.initClass(); + + //when + String initializedValue = classNotManagedBySpring.getCustomVariable(); + String anotherCustomVariable = classNotManagedBySpring.getAnotherCustomVariable(); + + //then + assertEquals("This is only sample value", initializedValue); + assertEquals("Another configured value", anotherCustomVariable); + + } + +} \ No newline at end of file