From 01fa4cfaf8b33e958c2f18c3afc5b3ad2c5be09c Mon Sep 17 00:00:00 2001 From: eric-martin Date: Tue, 5 Feb 2019 22:14:51 -0600 Subject: [PATCH] BAEL-2399: Migrate Spring DI example to spring-core module --- .../PriorityQueueUnitTest.java | 0 guice/pom.xml | 64 +++++++------------ .../com/baeldung/examples/common/Account.java | 3 - .../examples/common/AccountServiceImpl.java | 3 - .../examples/common/BookServiceImpl.java | 3 - .../examples/common/PersonDaoImpl.java | 3 - .../baeldung/examples/guice/FooProcessor.java | 3 - .../examples/guice/modules/GuiceModule.java | 2 +- .../java/com/baeldung/di/spring/Account.java | 27 ++++++++ .../baeldung/di/spring/AccountService.java | 5 ++ .../di/spring/AccountServiceImpl.java | 8 +++ .../baeldung/di/spring/AudioBookService.java | 5 ++ .../di/spring/AudioBookServiceImpl.java | 5 ++ .../com/baeldung/di/spring/AuthorService.java | 5 ++ .../baeldung/di/spring/AuthorServiceImpl.java | 5 ++ .../com/baeldung/di/spring/BookService.java | 5 ++ .../baeldung/di/spring/BookServiceImpl.java | 10 +++ .../main/java/com/baeldung/di/spring/Foo.java | 4 ++ .../com/baeldung/di/spring/FooProcessor.java | 6 ++ .../com/baeldung/di/spring/PersonDao.java | 5 ++ .../com/baeldung/di/spring/PersonDaoImpl.java | 8 +++ .../di}/spring/SpringBeansConfig.java | 5 +- .../baeldung/di}/spring/SpringMainConfig.java | 7 +- .../di}/spring/SpringPersonService.java | 4 +- .../com/baeldung/di}/spring/UserService.java | 4 +- .../baeldung/di/spring}/SpringUnitTest.java | 8 +-- 26 files changed, 129 insertions(+), 78 deletions(-) rename core-java-collections/src/test/java/com/baeldung/{queueInterface => queueinterface}/PriorityQueueUnitTest.java (100%) create mode 100644 spring-core/src/main/java/com/baeldung/di/spring/Account.java create mode 100644 spring-core/src/main/java/com/baeldung/di/spring/AccountService.java create mode 100644 spring-core/src/main/java/com/baeldung/di/spring/AccountServiceImpl.java create mode 100644 spring-core/src/main/java/com/baeldung/di/spring/AudioBookService.java create mode 100644 spring-core/src/main/java/com/baeldung/di/spring/AudioBookServiceImpl.java create mode 100644 spring-core/src/main/java/com/baeldung/di/spring/AuthorService.java create mode 100644 spring-core/src/main/java/com/baeldung/di/spring/AuthorServiceImpl.java create mode 100644 spring-core/src/main/java/com/baeldung/di/spring/BookService.java create mode 100644 spring-core/src/main/java/com/baeldung/di/spring/BookServiceImpl.java create mode 100644 spring-core/src/main/java/com/baeldung/di/spring/Foo.java create mode 100644 spring-core/src/main/java/com/baeldung/di/spring/FooProcessor.java create mode 100644 spring-core/src/main/java/com/baeldung/di/spring/PersonDao.java create mode 100644 spring-core/src/main/java/com/baeldung/di/spring/PersonDaoImpl.java rename {guice/src/main/java/com/baeldung/examples => spring-core/src/main/java/com/baeldung/di}/spring/SpringBeansConfig.java (64%) rename {guice/src/main/java/com/baeldung/examples => spring-core/src/main/java/com/baeldung/di}/spring/SpringMainConfig.java (66%) rename {guice/src/main/java/com/baeldung/examples => spring-core/src/main/java/com/baeldung/di}/spring/SpringPersonService.java (81%) rename {guice/src/main/java/com/baeldung/examples => spring-core/src/main/java/com/baeldung/di}/spring/UserService.java (77%) rename {guice/src/test/java/com/baeldung/examples => spring-core/src/test/java/com/baeldung/di/spring}/SpringUnitTest.java (88%) diff --git a/core-java-collections/src/test/java/com/baeldung/queueInterface/PriorityQueueUnitTest.java b/core-java-collections/src/test/java/com/baeldung/queueinterface/PriorityQueueUnitTest.java similarity index 100% rename from core-java-collections/src/test/java/com/baeldung/queueInterface/PriorityQueueUnitTest.java rename to core-java-collections/src/test/java/com/baeldung/queueinterface/PriorityQueueUnitTest.java diff --git a/guice/pom.xml b/guice/pom.xml index 0aea662d64..5c4518da7a 100644 --- a/guice/pom.xml +++ b/guice/pom.xml @@ -1,45 +1,29 @@ - - 4.0.0 - com.baeldung.examples.guice - guice - 1.0-SNAPSHOT - jar - guice + + 4.0.0 + com.baeldung.examples.guice + guice + 1.0-SNAPSHOT + jar + guice - - com.baeldung - parent-modules - 1.0.0-SNAPSHOT - + + com.baeldung + parent-modules + 1.0.0-SNAPSHOT + - - - com.google.inject - guice - ${guice.version} - + + + com.google.inject + guice + ${guice.version} + + - - org.springframework - spring-context - ${spring.version} - + + 4.1.0 + - - org.springframework - spring-test - ${springtest.version} - test - - - - - 4.2.2 - 5.1.3.RELEASE - 5.1.3.RELEASE - - - + \ No newline at end of file diff --git a/guice/src/main/java/com/baeldung/examples/common/Account.java b/guice/src/main/java/com/baeldung/examples/common/Account.java index 8f8b5059c5..fd2df005ac 100644 --- a/guice/src/main/java/com/baeldung/examples/common/Account.java +++ b/guice/src/main/java/com/baeldung/examples/common/Account.java @@ -1,8 +1,5 @@ package com.baeldung.examples.common; -import org.springframework.stereotype.Component; - -@Component public class Account { private String accountNumber; diff --git a/guice/src/main/java/com/baeldung/examples/common/AccountServiceImpl.java b/guice/src/main/java/com/baeldung/examples/common/AccountServiceImpl.java index 969c106d5b..18d6777c4a 100644 --- a/guice/src/main/java/com/baeldung/examples/common/AccountServiceImpl.java +++ b/guice/src/main/java/com/baeldung/examples/common/AccountServiceImpl.java @@ -1,8 +1,5 @@ package com.baeldung.examples.common; -import org.springframework.stereotype.Component; - -@Component public class AccountServiceImpl implements AccountService { } diff --git a/guice/src/main/java/com/baeldung/examples/common/BookServiceImpl.java b/guice/src/main/java/com/baeldung/examples/common/BookServiceImpl.java index 01f968bbe9..aee0d22e51 100644 --- a/guice/src/main/java/com/baeldung/examples/common/BookServiceImpl.java +++ b/guice/src/main/java/com/baeldung/examples/common/BookServiceImpl.java @@ -1,10 +1,7 @@ package com.baeldung.examples.common; -import org.springframework.beans.factory.annotation.Autowired; - public class BookServiceImpl implements BookService { - @Autowired(required = false) private AuthorService authorService; } diff --git a/guice/src/main/java/com/baeldung/examples/common/PersonDaoImpl.java b/guice/src/main/java/com/baeldung/examples/common/PersonDaoImpl.java index 971db5aa87..ecbf198cc0 100644 --- a/guice/src/main/java/com/baeldung/examples/common/PersonDaoImpl.java +++ b/guice/src/main/java/com/baeldung/examples/common/PersonDaoImpl.java @@ -1,8 +1,5 @@ package com.baeldung.examples.common; -import org.springframework.stereotype.Component; - -@Component public class PersonDaoImpl implements PersonDao { } \ No newline at end of file diff --git a/guice/src/main/java/com/baeldung/examples/guice/FooProcessor.java b/guice/src/main/java/com/baeldung/examples/guice/FooProcessor.java index f0cba31d9a..929013cd2b 100644 --- a/guice/src/main/java/com/baeldung/examples/guice/FooProcessor.java +++ b/guice/src/main/java/com/baeldung/examples/guice/FooProcessor.java @@ -1,12 +1,9 @@ package com.baeldung.examples.guice; -import org.springframework.lang.Nullable; - import com.google.inject.Inject; public class FooProcessor { @Inject - @Nullable private Foo foo; } \ No newline at end of file diff --git a/guice/src/main/java/com/baeldung/examples/guice/modules/GuiceModule.java b/guice/src/main/java/com/baeldung/examples/guice/modules/GuiceModule.java index 6a380e922b..fbcd36b56a 100644 --- a/guice/src/main/java/com/baeldung/examples/guice/modules/GuiceModule.java +++ b/guice/src/main/java/com/baeldung/examples/guice/modules/GuiceModule.java @@ -27,7 +27,7 @@ public class GuiceModule extends AbstractModule { // }); bind(Foo.class).toProvider(new Provider() { public Foo get() { - return null; + return new Foo(); } }); bind(PersonDao.class).to(PersonDaoImpl.class); diff --git a/spring-core/src/main/java/com/baeldung/di/spring/Account.java b/spring-core/src/main/java/com/baeldung/di/spring/Account.java new file mode 100644 index 0000000000..6d9883bda5 --- /dev/null +++ b/spring-core/src/main/java/com/baeldung/di/spring/Account.java @@ -0,0 +1,27 @@ +package com.baeldung.di.spring; + +import org.springframework.stereotype.Component; + +@Component +public class Account { + + private String accountNumber; + private String type; + + public String getAccountNumber() { + return accountNumber; + } + + public void setAccountNumber(String accountNumber) { + this.accountNumber = accountNumber; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + +} diff --git a/spring-core/src/main/java/com/baeldung/di/spring/AccountService.java b/spring-core/src/main/java/com/baeldung/di/spring/AccountService.java new file mode 100644 index 0000000000..75ba6bb3eb --- /dev/null +++ b/spring-core/src/main/java/com/baeldung/di/spring/AccountService.java @@ -0,0 +1,5 @@ +package com.baeldung.di.spring; + +public interface AccountService { + +} diff --git a/spring-core/src/main/java/com/baeldung/di/spring/AccountServiceImpl.java b/spring-core/src/main/java/com/baeldung/di/spring/AccountServiceImpl.java new file mode 100644 index 0000000000..4a4baf7d92 --- /dev/null +++ b/spring-core/src/main/java/com/baeldung/di/spring/AccountServiceImpl.java @@ -0,0 +1,8 @@ +package com.baeldung.di.spring; + +import org.springframework.stereotype.Component; + +@Component +public class AccountServiceImpl implements AccountService { + +} diff --git a/spring-core/src/main/java/com/baeldung/di/spring/AudioBookService.java b/spring-core/src/main/java/com/baeldung/di/spring/AudioBookService.java new file mode 100644 index 0000000000..c82e5ed282 --- /dev/null +++ b/spring-core/src/main/java/com/baeldung/di/spring/AudioBookService.java @@ -0,0 +1,5 @@ +package com.baeldung.di.spring; + +public interface AudioBookService { + +} diff --git a/spring-core/src/main/java/com/baeldung/di/spring/AudioBookServiceImpl.java b/spring-core/src/main/java/com/baeldung/di/spring/AudioBookServiceImpl.java new file mode 100644 index 0000000000..53a544b65a --- /dev/null +++ b/spring-core/src/main/java/com/baeldung/di/spring/AudioBookServiceImpl.java @@ -0,0 +1,5 @@ +package com.baeldung.di.spring; + +public class AudioBookServiceImpl implements AudioBookService { + +} diff --git a/spring-core/src/main/java/com/baeldung/di/spring/AuthorService.java b/spring-core/src/main/java/com/baeldung/di/spring/AuthorService.java new file mode 100644 index 0000000000..cfb525ddf9 --- /dev/null +++ b/spring-core/src/main/java/com/baeldung/di/spring/AuthorService.java @@ -0,0 +1,5 @@ +package com.baeldung.di.spring; + +public interface AuthorService { + +} diff --git a/spring-core/src/main/java/com/baeldung/di/spring/AuthorServiceImpl.java b/spring-core/src/main/java/com/baeldung/di/spring/AuthorServiceImpl.java new file mode 100644 index 0000000000..007eb29930 --- /dev/null +++ b/spring-core/src/main/java/com/baeldung/di/spring/AuthorServiceImpl.java @@ -0,0 +1,5 @@ +package com.baeldung.di.spring; + +public class AuthorServiceImpl implements AuthorService { + +} diff --git a/spring-core/src/main/java/com/baeldung/di/spring/BookService.java b/spring-core/src/main/java/com/baeldung/di/spring/BookService.java new file mode 100644 index 0000000000..8e693e687d --- /dev/null +++ b/spring-core/src/main/java/com/baeldung/di/spring/BookService.java @@ -0,0 +1,5 @@ +package com.baeldung.di.spring; + +public interface BookService { + +} diff --git a/spring-core/src/main/java/com/baeldung/di/spring/BookServiceImpl.java b/spring-core/src/main/java/com/baeldung/di/spring/BookServiceImpl.java new file mode 100644 index 0000000000..b4ea602234 --- /dev/null +++ b/spring-core/src/main/java/com/baeldung/di/spring/BookServiceImpl.java @@ -0,0 +1,10 @@ +package com.baeldung.di.spring; + +import org.springframework.beans.factory.annotation.Autowired; + +public class BookServiceImpl implements BookService { + + @Autowired(required = false) + private AuthorService authorService; + +} diff --git a/spring-core/src/main/java/com/baeldung/di/spring/Foo.java b/spring-core/src/main/java/com/baeldung/di/spring/Foo.java new file mode 100644 index 0000000000..9d9b5d0888 --- /dev/null +++ b/spring-core/src/main/java/com/baeldung/di/spring/Foo.java @@ -0,0 +1,4 @@ +package com.baeldung.di.spring; + +public class Foo { +} diff --git a/spring-core/src/main/java/com/baeldung/di/spring/FooProcessor.java b/spring-core/src/main/java/com/baeldung/di/spring/FooProcessor.java new file mode 100644 index 0000000000..9baaaef7a3 --- /dev/null +++ b/spring-core/src/main/java/com/baeldung/di/spring/FooProcessor.java @@ -0,0 +1,6 @@ +package com.baeldung.di.spring; + +public class FooProcessor { + + private Foo foo; +} \ No newline at end of file diff --git a/spring-core/src/main/java/com/baeldung/di/spring/PersonDao.java b/spring-core/src/main/java/com/baeldung/di/spring/PersonDao.java new file mode 100644 index 0000000000..8dde7ed1e0 --- /dev/null +++ b/spring-core/src/main/java/com/baeldung/di/spring/PersonDao.java @@ -0,0 +1,5 @@ +package com.baeldung.di.spring; + +public interface PersonDao { + +} diff --git a/spring-core/src/main/java/com/baeldung/di/spring/PersonDaoImpl.java b/spring-core/src/main/java/com/baeldung/di/spring/PersonDaoImpl.java new file mode 100644 index 0000000000..efcc2e0f21 --- /dev/null +++ b/spring-core/src/main/java/com/baeldung/di/spring/PersonDaoImpl.java @@ -0,0 +1,8 @@ +package com.baeldung.di.spring; + +import org.springframework.stereotype.Component; + +@Component +public class PersonDaoImpl implements PersonDao { + +} \ No newline at end of file diff --git a/guice/src/main/java/com/baeldung/examples/spring/SpringBeansConfig.java b/spring-core/src/main/java/com/baeldung/di/spring/SpringBeansConfig.java similarity index 64% rename from guice/src/main/java/com/baeldung/examples/spring/SpringBeansConfig.java rename to spring-core/src/main/java/com/baeldung/di/spring/SpringBeansConfig.java index ef0c23142c..4cb6943fc9 100644 --- a/guice/src/main/java/com/baeldung/examples/spring/SpringBeansConfig.java +++ b/spring-core/src/main/java/com/baeldung/di/spring/SpringBeansConfig.java @@ -1,11 +1,8 @@ -package com.baeldung.examples.spring; +package com.baeldung.di.spring; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import com.baeldung.examples.common.AudioBookService; -import com.baeldung.examples.common.AudioBookServiceImpl; - @Configuration public class SpringBeansConfig { diff --git a/guice/src/main/java/com/baeldung/examples/spring/SpringMainConfig.java b/spring-core/src/main/java/com/baeldung/di/spring/SpringMainConfig.java similarity index 66% rename from guice/src/main/java/com/baeldung/examples/spring/SpringMainConfig.java rename to spring-core/src/main/java/com/baeldung/di/spring/SpringMainConfig.java index 1ced22288f..75066fd539 100644 --- a/guice/src/main/java/com/baeldung/examples/spring/SpringMainConfig.java +++ b/spring-core/src/main/java/com/baeldung/di/spring/SpringMainConfig.java @@ -1,16 +1,13 @@ -package com.baeldung.examples.spring; +package com.baeldung.di.spring; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; -import com.baeldung.examples.common.BookService; -import com.baeldung.examples.common.BookServiceImpl; - @Configuration @Import({ SpringBeansConfig.class }) -@ComponentScan("com.baeldung.examples") +@ComponentScan("com.baeldung.di.spring") public class SpringMainConfig { @Bean diff --git a/guice/src/main/java/com/baeldung/examples/spring/SpringPersonService.java b/spring-core/src/main/java/com/baeldung/di/spring/SpringPersonService.java similarity index 81% rename from guice/src/main/java/com/baeldung/examples/spring/SpringPersonService.java rename to spring-core/src/main/java/com/baeldung/di/spring/SpringPersonService.java index 1ab5642f31..b85c749982 100644 --- a/guice/src/main/java/com/baeldung/examples/spring/SpringPersonService.java +++ b/spring-core/src/main/java/com/baeldung/di/spring/SpringPersonService.java @@ -1,10 +1,8 @@ -package com.baeldung.examples.spring; +package com.baeldung.di.spring; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; -import com.baeldung.examples.common.PersonDao; - @Component public class SpringPersonService { diff --git a/guice/src/main/java/com/baeldung/examples/spring/UserService.java b/spring-core/src/main/java/com/baeldung/di/spring/UserService.java similarity index 77% rename from guice/src/main/java/com/baeldung/examples/spring/UserService.java rename to spring-core/src/main/java/com/baeldung/di/spring/UserService.java index 4173ef8208..330d7f7448 100644 --- a/guice/src/main/java/com/baeldung/examples/spring/UserService.java +++ b/spring-core/src/main/java/com/baeldung/di/spring/UserService.java @@ -1,10 +1,8 @@ -package com.baeldung.examples.spring; +package com.baeldung.di.spring; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; -import com.baeldung.examples.common.AccountService; - @Component public class UserService { diff --git a/guice/src/test/java/com/baeldung/examples/SpringUnitTest.java b/spring-core/src/test/java/com/baeldung/di/spring/SpringUnitTest.java similarity index 88% rename from guice/src/test/java/com/baeldung/examples/SpringUnitTest.java rename to spring-core/src/test/java/com/baeldung/di/spring/SpringUnitTest.java index 64e1eedcac..7df8dfac89 100644 --- a/guice/src/test/java/com/baeldung/examples/SpringUnitTest.java +++ b/spring-core/src/test/java/com/baeldung/di/spring/SpringUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.examples; +package com.baeldung.di.spring; import static org.junit.Assert.assertNotNull; @@ -9,12 +9,6 @@ import org.springframework.context.ApplicationContext; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringRunner; -import com.baeldung.examples.common.AudioBookService; -import com.baeldung.examples.common.BookService; -import com.baeldung.examples.spring.SpringMainConfig; -import com.baeldung.examples.spring.SpringPersonService; -import com.baeldung.examples.spring.UserService; - @RunWith(SpringRunner.class) @ContextConfiguration(classes = { SpringMainConfig.class }) public class SpringUnitTest {