diff --git a/spring-core/src/main/java/com/baeldung/ditypes/RegisterarConfig.java b/spring-core/src/main/java/com/baeldung/ditypes/RegisterarConfig.java new file mode 100644 index 0000000000..c1df1466f3 --- /dev/null +++ b/spring-core/src/main/java/com/baeldung/ditypes/RegisterarConfig.java @@ -0,0 +1,14 @@ +package com.baeldung.ditypes; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.ComponentScan; +import org.springframework.context.annotation.Configuration; + +@Configuration +@ComponentScan("com.baeldung.ditypes") +public class RegisterarConfig { + @Bean + public User user() { + return new User("Alice", 1); + } +} diff --git a/spring-core/src/main/java/com/baeldung/ditypes/Registrar.java b/spring-core/src/main/java/com/baeldung/ditypes/Registrar.java new file mode 100644 index 0000000000..4406151c1b --- /dev/null +++ b/spring-core/src/main/java/com/baeldung/ditypes/Registrar.java @@ -0,0 +1,18 @@ +package com.baeldung.ditypes; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +@Component +public class Registrar { + private User user; + + @Autowired + public Registrar(User user) { + this.user = user; + } + + public String register() { + return user.register(); + } +} diff --git a/spring-core/src/main/java/com/baeldung/ditypes/User.java b/spring-core/src/main/java/com/baeldung/ditypes/User.java new file mode 100644 index 0000000000..b0120c7711 --- /dev/null +++ b/spring-core/src/main/java/com/baeldung/ditypes/User.java @@ -0,0 +1,20 @@ +package com.baeldung.ditypes; + +import org.springframework.stereotype.Component; + +@Component +public class User { + + private String name; + private int id; + + public User(String name, int id) { + this.id = id; + this.name = name; + } + + public String register() { + return "User" + id + ": " + name + " is registered"; + } + +} diff --git a/spring-core/src/test/java/com/baeldung/ditypes/RegisterarTest.java b/spring-core/src/test/java/com/baeldung/ditypes/RegisterarTest.java new file mode 100644 index 0000000000..a0aea95a2b --- /dev/null +++ b/spring-core/src/test/java/com/baeldung/ditypes/RegisterarTest.java @@ -0,0 +1,29 @@ +package com.baeldung.ditypes; + +import static org.junit.Assert.*; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(classes = RegisterarConfig.class) +public class RegisterarTest { + + @Autowired + private Registrar reg; + + @Autowired + private User user; + + @Test + public void givenAutowiredAnnotation_whenSetOnField_thenRegistrarIsInjected() { + assertNotNull(reg); + } + + @Test + public void givenAutowiredAnnotation_whenSetOnField_thenUserIsInjected() { + assertEquals("User1: Alice is registered", user.register()); + } +}