diff --git a/di-modules/guice/src/main/java/com/baeldung/examples/RunGuice.java b/di-modules/guice/src/main/java/com/baeldung/RunGuice.java similarity index 77% rename from di-modules/guice/src/main/java/com/baeldung/examples/RunGuice.java rename to di-modules/guice/src/main/java/com/baeldung/RunGuice.java index 660952f3259a..6735e10188ec 100644 --- a/di-modules/guice/src/main/java/com/baeldung/examples/RunGuice.java +++ b/di-modules/guice/src/main/java/com/baeldung/RunGuice.java @@ -1,9 +1,9 @@ -package com.baeldung.examples; +package com.baeldung; -import com.baeldung.examples.guice.Communication; -import com.baeldung.examples.guice.binding.AOPModule; -import com.baeldung.examples.guice.modules.BasicModule; +import com.baeldung.guice.Communication; +import com.baeldung.guice.binding.AOPModule; +import com.baeldung.guice.modules.BasicModule; import com.google.inject.Guice; import com.google.inject.Injector; import java.util.Scanner; diff --git a/di-modules/guice/src/main/java/com/baeldung/examples/common/AccountService.java b/di-modules/guice/src/main/java/com/baeldung/examples/common/AccountService.java deleted file mode 100644 index 97a64e3c6e36..000000000000 --- a/di-modules/guice/src/main/java/com/baeldung/examples/common/AccountService.java +++ /dev/null @@ -1,5 +0,0 @@ -package com.baeldung.examples.common; - -public interface AccountService { - -} diff --git a/di-modules/guice/src/main/java/com/baeldung/examples/common/AuthorService.java b/di-modules/guice/src/main/java/com/baeldung/examples/common/AuthorService.java deleted file mode 100644 index 9be148b8c344..000000000000 --- a/di-modules/guice/src/main/java/com/baeldung/examples/common/AuthorService.java +++ /dev/null @@ -1,5 +0,0 @@ -package com.baeldung.examples.common; - -public interface AuthorService { - -} diff --git a/di-modules/guice/src/main/java/com/baeldung/examples/common/BookService.java b/di-modules/guice/src/main/java/com/baeldung/examples/common/BookService.java deleted file mode 100644 index 56339c13985e..000000000000 --- a/di-modules/guice/src/main/java/com/baeldung/examples/common/BookService.java +++ /dev/null @@ -1,5 +0,0 @@ -package com.baeldung.examples.common; - -public interface BookService { - -} diff --git a/di-modules/guice/src/main/java/com/baeldung/examples/common/PersonDao.java b/di-modules/guice/src/main/java/com/baeldung/examples/common/PersonDao.java deleted file mode 100644 index 980fee025205..000000000000 --- a/di-modules/guice/src/main/java/com/baeldung/examples/common/PersonDao.java +++ /dev/null @@ -1,5 +0,0 @@ -package com.baeldung.examples.common; - -public interface PersonDao { - -} diff --git a/di-modules/guice/src/main/java/com/baeldung/examples/guice/Foo.java b/di-modules/guice/src/main/java/com/baeldung/examples/guice/Foo.java deleted file mode 100644 index fca32b165b9a..000000000000 --- a/di-modules/guice/src/main/java/com/baeldung/examples/guice/Foo.java +++ /dev/null @@ -1,4 +0,0 @@ -package com.baeldung.examples.guice; - -public class Foo { -} diff --git a/di-modules/guice/src/main/java/com/baeldung/examples/guice/Communication.java b/di-modules/guice/src/main/java/com/baeldung/guice/Communication.java similarity index 83% rename from di-modules/guice/src/main/java/com/baeldung/examples/guice/Communication.java rename to di-modules/guice/src/main/java/com/baeldung/guice/Communication.java index 464e0c641d0a..9f2451dc7d5e 100644 --- a/di-modules/guice/src/main/java/com/baeldung/examples/guice/Communication.java +++ b/di-modules/guice/src/main/java/com/baeldung/guice/Communication.java @@ -1,11 +1,9 @@ -package com.baeldung.examples.guice; +package com.baeldung.guice; import com.google.inject.Inject; -import com.google.inject.name.Named; + import java.util.Date; -import java.util.LinkedList; -import java.util.Queue; import java.util.logging.Logger; /** diff --git a/di-modules/guice/src/main/java/com/baeldung/examples/guice/CommunicationMode.java b/di-modules/guice/src/main/java/com/baeldung/guice/CommunicationMode.java similarity index 57% rename from di-modules/guice/src/main/java/com/baeldung/examples/guice/CommunicationMode.java rename to di-modules/guice/src/main/java/com/baeldung/guice/CommunicationMode.java index 7a36f0c276b3..e00a1fd20abd 100644 --- a/di-modules/guice/src/main/java/com/baeldung/examples/guice/CommunicationMode.java +++ b/di-modules/guice/src/main/java/com/baeldung/guice/CommunicationMode.java @@ -1,7 +1,7 @@ -package com.baeldung.examples.guice; +package com.baeldung.guice; -import com.baeldung.examples.guice.constant.CommunicationModel; +import com.baeldung.guice.constant.CommunicationModel; public interface CommunicationMode { diff --git a/di-modules/guice/src/main/java/com/baeldung/examples/guice/DefaultCommunicator.java b/di-modules/guice/src/main/java/com/baeldung/guice/DefaultCommunicator.java similarity index 92% rename from di-modules/guice/src/main/java/com/baeldung/examples/guice/DefaultCommunicator.java rename to di-modules/guice/src/main/java/com/baeldung/guice/DefaultCommunicator.java index 24e0c28dd1d4..9c3fa6330951 100644 --- a/di-modules/guice/src/main/java/com/baeldung/examples/guice/DefaultCommunicator.java +++ b/di-modules/guice/src/main/java/com/baeldung/guice/DefaultCommunicator.java @@ -1,7 +1,7 @@ -package com.baeldung.examples.guice; +package com.baeldung.guice; -import com.baeldung.examples.guice.marker.Communicator; +import com.baeldung.guice.marker.Communicator; import com.google.inject.Inject; import com.google.inject.name.Named; diff --git a/di-modules/guice/src/main/java/com/baeldung/examples/guice/EmailCommunicationMode.java b/di-modules/guice/src/main/java/com/baeldung/guice/EmailCommunicationMode.java similarity index 73% rename from di-modules/guice/src/main/java/com/baeldung/examples/guice/EmailCommunicationMode.java rename to di-modules/guice/src/main/java/com/baeldung/guice/EmailCommunicationMode.java index 06e77a58e26e..ebc62223785b 100644 --- a/di-modules/guice/src/main/java/com/baeldung/examples/guice/EmailCommunicationMode.java +++ b/di-modules/guice/src/main/java/com/baeldung/guice/EmailCommunicationMode.java @@ -1,8 +1,8 @@ -package com.baeldung.examples.guice; +package com.baeldung.guice; -import com.baeldung.examples.guice.aop.MessageSentLoggable; -import com.baeldung.examples.guice.constant.CommunicationModel; +import com.baeldung.guice.aop.MessageSentLoggable; +import com.baeldung.guice.constant.CommunicationModel; /** * diff --git a/di-modules/guice/src/main/java/com/baeldung/guice/Foo.java b/di-modules/guice/src/main/java/com/baeldung/guice/Foo.java new file mode 100644 index 000000000000..23861cb0544d --- /dev/null +++ b/di-modules/guice/src/main/java/com/baeldung/guice/Foo.java @@ -0,0 +1,4 @@ +package com.baeldung.guice; + +public class Foo { +} diff --git a/di-modules/guice/src/main/java/com/baeldung/examples/guice/FooProcessor.java b/di-modules/guice/src/main/java/com/baeldung/guice/FooProcessor.java similarity index 67% rename from di-modules/guice/src/main/java/com/baeldung/examples/guice/FooProcessor.java rename to di-modules/guice/src/main/java/com/baeldung/guice/FooProcessor.java index 929013cd2b35..5f618ecd3073 100644 --- a/di-modules/guice/src/main/java/com/baeldung/examples/guice/FooProcessor.java +++ b/di-modules/guice/src/main/java/com/baeldung/guice/FooProcessor.java @@ -1,4 +1,4 @@ -package com.baeldung.examples.guice; +package com.baeldung.guice; import com.google.inject.Inject; diff --git a/di-modules/guice/src/main/java/com/baeldung/examples/guice/GuicePersonService.java b/di-modules/guice/src/main/java/com/baeldung/guice/GuicePersonService.java similarity index 75% rename from di-modules/guice/src/main/java/com/baeldung/examples/guice/GuicePersonService.java rename to di-modules/guice/src/main/java/com/baeldung/guice/GuicePersonService.java index ce12e3e528cb..005ea4ae250b 100644 --- a/di-modules/guice/src/main/java/com/baeldung/examples/guice/GuicePersonService.java +++ b/di-modules/guice/src/main/java/com/baeldung/guice/GuicePersonService.java @@ -1,6 +1,6 @@ -package com.baeldung.examples.guice; +package com.baeldung.guice; -import com.baeldung.examples.common.PersonDao; +import com.baeldung.guice.common.PersonDao; import com.google.inject.Inject; public class GuicePersonService { diff --git a/di-modules/guice/src/main/java/com/baeldung/examples/guice/GuiceUserService.java b/di-modules/guice/src/main/java/com/baeldung/guice/GuiceUserService.java similarity index 73% rename from di-modules/guice/src/main/java/com/baeldung/examples/guice/GuiceUserService.java rename to di-modules/guice/src/main/java/com/baeldung/guice/GuiceUserService.java index 0e58d0bacfe1..5f409cf8ac80 100644 --- a/di-modules/guice/src/main/java/com/baeldung/examples/guice/GuiceUserService.java +++ b/di-modules/guice/src/main/java/com/baeldung/guice/GuiceUserService.java @@ -1,6 +1,6 @@ -package com.baeldung.examples.guice; +package com.baeldung.guice; -import com.baeldung.examples.common.AccountService; +import com.baeldung.guice.common.AccountService; import com.google.inject.Inject; public class GuiceUserService { diff --git a/di-modules/guice/src/main/java/com/baeldung/examples/guice/IMCommunicationMode.java b/di-modules/guice/src/main/java/com/baeldung/guice/IMCommunicationMode.java similarity index 74% rename from di-modules/guice/src/main/java/com/baeldung/examples/guice/IMCommunicationMode.java rename to di-modules/guice/src/main/java/com/baeldung/guice/IMCommunicationMode.java index 42b0c82b9047..f884046d2334 100644 --- a/di-modules/guice/src/main/java/com/baeldung/examples/guice/IMCommunicationMode.java +++ b/di-modules/guice/src/main/java/com/baeldung/guice/IMCommunicationMode.java @@ -1,8 +1,8 @@ -package com.baeldung.examples.guice; +package com.baeldung.guice; -import com.baeldung.examples.guice.aop.MessageSentLoggable; -import com.baeldung.examples.guice.constant.CommunicationModel; +import com.baeldung.guice.aop.MessageSentLoggable; +import com.baeldung.guice.constant.CommunicationModel; import com.google.inject.Inject; import java.util.logging.Logger; diff --git a/di-modules/guice/src/main/java/com/baeldung/examples/guice/Person.java b/di-modules/guice/src/main/java/com/baeldung/guice/Person.java similarity index 85% rename from di-modules/guice/src/main/java/com/baeldung/examples/guice/Person.java rename to di-modules/guice/src/main/java/com/baeldung/guice/Person.java index d54b5110eb36..e383c62a7810 100644 --- a/di-modules/guice/src/main/java/com/baeldung/examples/guice/Person.java +++ b/di-modules/guice/src/main/java/com/baeldung/guice/Person.java @@ -1,4 +1,4 @@ -package com.baeldung.examples.guice; +package com.baeldung.guice; public class Person { private String firstName; diff --git a/di-modules/guice/src/main/java/com/baeldung/examples/guice/SMSCommunicationMode.java b/di-modules/guice/src/main/java/com/baeldung/guice/SMSCommunicationMode.java similarity index 74% rename from di-modules/guice/src/main/java/com/baeldung/examples/guice/SMSCommunicationMode.java rename to di-modules/guice/src/main/java/com/baeldung/guice/SMSCommunicationMode.java index 7a30e51f104d..56b02733d475 100644 --- a/di-modules/guice/src/main/java/com/baeldung/examples/guice/SMSCommunicationMode.java +++ b/di-modules/guice/src/main/java/com/baeldung/guice/SMSCommunicationMode.java @@ -1,8 +1,8 @@ -package com.baeldung.examples.guice; +package com.baeldung.guice; -import com.baeldung.examples.guice.aop.MessageSentLoggable; -import com.baeldung.examples.guice.constant.CommunicationModel; +import com.baeldung.guice.aop.MessageSentLoggable; +import com.baeldung.guice.constant.CommunicationModel; import com.google.inject.Inject; import java.util.logging.Logger; diff --git a/di-modules/guice/src/main/java/com/baeldung/examples/guice/aop/MessageLogger.java b/di-modules/guice/src/main/java/com/baeldung/guice/aop/MessageLogger.java similarity index 88% rename from di-modules/guice/src/main/java/com/baeldung/examples/guice/aop/MessageLogger.java rename to di-modules/guice/src/main/java/com/baeldung/guice/aop/MessageLogger.java index 379cd5f18b22..90822cf63b20 100644 --- a/di-modules/guice/src/main/java/com/baeldung/examples/guice/aop/MessageLogger.java +++ b/di-modules/guice/src/main/java/com/baeldung/guice/aop/MessageLogger.java @@ -1,7 +1,6 @@ -package com.baeldung.examples.guice.aop; +package com.baeldung.guice.aop; -import com.google.inject.Inject; import java.util.logging.Logger; import org.aopalliance.intercept.MethodInterceptor; import org.aopalliance.intercept.MethodInvocation; diff --git a/di-modules/guice/src/main/java/com/baeldung/examples/guice/aop/MessageSentLoggable.java b/di-modules/guice/src/main/java/com/baeldung/guice/aop/MessageSentLoggable.java similarity index 88% rename from di-modules/guice/src/main/java/com/baeldung/examples/guice/aop/MessageSentLoggable.java rename to di-modules/guice/src/main/java/com/baeldung/guice/aop/MessageSentLoggable.java index 431c4bc0ced6..b0e9603c5ce6 100644 --- a/di-modules/guice/src/main/java/com/baeldung/examples/guice/aop/MessageSentLoggable.java +++ b/di-modules/guice/src/main/java/com/baeldung/guice/aop/MessageSentLoggable.java @@ -1,5 +1,5 @@ -package com.baeldung.examples.guice.aop; +package com.baeldung.guice.aop; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; diff --git a/di-modules/guice/src/main/java/com/baeldung/examples/guice/binding/AOPModule.java b/di-modules/guice/src/main/java/com/baeldung/guice/binding/AOPModule.java similarity index 70% rename from di-modules/guice/src/main/java/com/baeldung/examples/guice/binding/AOPModule.java rename to di-modules/guice/src/main/java/com/baeldung/guice/binding/AOPModule.java index b41dcf16e571..29f6086f83de 100644 --- a/di-modules/guice/src/main/java/com/baeldung/examples/guice/binding/AOPModule.java +++ b/di-modules/guice/src/main/java/com/baeldung/guice/binding/AOPModule.java @@ -1,8 +1,8 @@ -package com.baeldung.examples.guice.binding; +package com.baeldung.guice.binding; -import com.baeldung.examples.guice.aop.MessageLogger; -import com.baeldung.examples.guice.aop.MessageSentLoggable; +import com.baeldung.guice.aop.MessageLogger; +import com.baeldung.guice.aop.MessageSentLoggable; import com.google.inject.AbstractModule; import com.google.inject.matcher.Matchers; diff --git a/di-modules/guice/src/main/java/com/baeldung/examples/guice/binding/BasicModule.java b/di-modules/guice/src/main/java/com/baeldung/guice/binding/BasicModule.java similarity index 75% rename from di-modules/guice/src/main/java/com/baeldung/examples/guice/binding/BasicModule.java rename to di-modules/guice/src/main/java/com/baeldung/guice/binding/BasicModule.java index 1cd9d624ab50..176be483f417 100644 --- a/di-modules/guice/src/main/java/com/baeldung/examples/guice/binding/BasicModule.java +++ b/di-modules/guice/src/main/java/com/baeldung/guice/binding/BasicModule.java @@ -1,12 +1,12 @@ -package com.baeldung.examples.guice.binding; +package com.baeldung.guice.binding; -import com.baeldung.examples.guice.Communication; -import com.baeldung.examples.guice.CommunicationMode; -import com.baeldung.examples.guice.DefaultCommunicator; -import com.baeldung.examples.guice.EmailCommunicationMode; -import com.baeldung.examples.guice.IMCommunicationMode; -import com.baeldung.examples.guice.SMSCommunicationMode; +import com.baeldung.guice.Communication; +import com.baeldung.guice.CommunicationMode; +import com.baeldung.guice.DefaultCommunicator; +import com.baeldung.guice.EmailCommunicationMode; +import com.baeldung.guice.IMCommunicationMode; +import com.baeldung.guice.SMSCommunicationMode; import com.google.inject.AbstractModule; import com.google.inject.name.Names; import java.util.logging.Level; diff --git a/di-modules/guice/src/main/java/com/baeldung/examples/common/Account.java b/di-modules/guice/src/main/java/com/baeldung/guice/common/Account.java similarity index 84% rename from di-modules/guice/src/main/java/com/baeldung/examples/common/Account.java rename to di-modules/guice/src/main/java/com/baeldung/guice/common/Account.java index fd2df005aca6..fc32c168e862 100644 --- a/di-modules/guice/src/main/java/com/baeldung/examples/common/Account.java +++ b/di-modules/guice/src/main/java/com/baeldung/guice/common/Account.java @@ -1,4 +1,4 @@ -package com.baeldung.examples.common; +package com.baeldung.guice.common; public class Account { diff --git a/di-modules/guice/src/main/java/com/baeldung/guice/common/AccountService.java b/di-modules/guice/src/main/java/com/baeldung/guice/common/AccountService.java new file mode 100644 index 000000000000..d09b78bb3f65 --- /dev/null +++ b/di-modules/guice/src/main/java/com/baeldung/guice/common/AccountService.java @@ -0,0 +1,5 @@ +package com.baeldung.guice.common; + +public interface AccountService { + +} diff --git a/di-modules/guice/src/main/java/com/baeldung/examples/common/AccountServiceImpl.java b/di-modules/guice/src/main/java/com/baeldung/guice/common/AccountServiceImpl.java similarity index 59% rename from di-modules/guice/src/main/java/com/baeldung/examples/common/AccountServiceImpl.java rename to di-modules/guice/src/main/java/com/baeldung/guice/common/AccountServiceImpl.java index 18d6777c4add..6e09bb415b3f 100644 --- a/di-modules/guice/src/main/java/com/baeldung/examples/common/AccountServiceImpl.java +++ b/di-modules/guice/src/main/java/com/baeldung/guice/common/AccountServiceImpl.java @@ -1,4 +1,4 @@ -package com.baeldung.examples.common; +package com.baeldung.guice.common; public class AccountServiceImpl implements AccountService { diff --git a/di-modules/guice/src/main/java/com/baeldung/examples/common/AudioBookService.java b/di-modules/guice/src/main/java/com/baeldung/guice/common/AudioBookService.java similarity index 51% rename from di-modules/guice/src/main/java/com/baeldung/examples/common/AudioBookService.java rename to di-modules/guice/src/main/java/com/baeldung/guice/common/AudioBookService.java index 5d501f205112..acabaa08d293 100644 --- a/di-modules/guice/src/main/java/com/baeldung/examples/common/AudioBookService.java +++ b/di-modules/guice/src/main/java/com/baeldung/guice/common/AudioBookService.java @@ -1,4 +1,4 @@ -package com.baeldung.examples.common; +package com.baeldung.guice.common; public interface AudioBookService { diff --git a/di-modules/guice/src/main/java/com/baeldung/examples/common/AudioBookServiceImpl.java b/di-modules/guice/src/main/java/com/baeldung/guice/common/AudioBookServiceImpl.java similarity index 64% rename from di-modules/guice/src/main/java/com/baeldung/examples/common/AudioBookServiceImpl.java rename to di-modules/guice/src/main/java/com/baeldung/guice/common/AudioBookServiceImpl.java index c64e953a586c..d9527d4c2c0e 100644 --- a/di-modules/guice/src/main/java/com/baeldung/examples/common/AudioBookServiceImpl.java +++ b/di-modules/guice/src/main/java/com/baeldung/guice/common/AudioBookServiceImpl.java @@ -1,4 +1,4 @@ -package com.baeldung.examples.common; +package com.baeldung.guice.common; public class AudioBookServiceImpl implements AudioBookService { diff --git a/di-modules/guice/src/main/java/com/baeldung/guice/common/AuthorService.java b/di-modules/guice/src/main/java/com/baeldung/guice/common/AuthorService.java new file mode 100644 index 000000000000..ad8a7a1dae6c --- /dev/null +++ b/di-modules/guice/src/main/java/com/baeldung/guice/common/AuthorService.java @@ -0,0 +1,5 @@ +package com.baeldung.guice.common; + +public interface AuthorService { + +} diff --git a/di-modules/guice/src/main/java/com/baeldung/examples/common/AuthorServiceImpl.java b/di-modules/guice/src/main/java/com/baeldung/guice/common/AuthorServiceImpl.java similarity index 62% rename from di-modules/guice/src/main/java/com/baeldung/examples/common/AuthorServiceImpl.java rename to di-modules/guice/src/main/java/com/baeldung/guice/common/AuthorServiceImpl.java index bac532e46935..7df449bca554 100644 --- a/di-modules/guice/src/main/java/com/baeldung/examples/common/AuthorServiceImpl.java +++ b/di-modules/guice/src/main/java/com/baeldung/guice/common/AuthorServiceImpl.java @@ -1,4 +1,4 @@ -package com.baeldung.examples.common; +package com.baeldung.guice.common; public class AuthorServiceImpl implements AuthorService { diff --git a/di-modules/guice/src/main/java/com/baeldung/guice/common/BookService.java b/di-modules/guice/src/main/java/com/baeldung/guice/common/BookService.java new file mode 100644 index 000000000000..f3265cbc683f --- /dev/null +++ b/di-modules/guice/src/main/java/com/baeldung/guice/common/BookService.java @@ -0,0 +1,5 @@ +package com.baeldung.guice.common; + +public interface BookService { + +} diff --git a/di-modules/guice/src/main/java/com/baeldung/examples/common/BookServiceImpl.java b/di-modules/guice/src/main/java/com/baeldung/guice/common/BookServiceImpl.java similarity index 68% rename from di-modules/guice/src/main/java/com/baeldung/examples/common/BookServiceImpl.java rename to di-modules/guice/src/main/java/com/baeldung/guice/common/BookServiceImpl.java index aee0d22e51b7..0a6935c8a086 100644 --- a/di-modules/guice/src/main/java/com/baeldung/examples/common/BookServiceImpl.java +++ b/di-modules/guice/src/main/java/com/baeldung/guice/common/BookServiceImpl.java @@ -1,4 +1,4 @@ -package com.baeldung.examples.common; +package com.baeldung.guice.common; public class BookServiceImpl implements BookService { diff --git a/di-modules/guice/src/main/java/com/baeldung/guice/common/PersonDao.java b/di-modules/guice/src/main/java/com/baeldung/guice/common/PersonDao.java new file mode 100644 index 000000000000..8717474afe9a --- /dev/null +++ b/di-modules/guice/src/main/java/com/baeldung/guice/common/PersonDao.java @@ -0,0 +1,5 @@ +package com.baeldung.guice.common; + +public interface PersonDao { + +} diff --git a/di-modules/guice/src/main/java/com/baeldung/examples/common/PersonDaoImpl.java b/di-modules/guice/src/main/java/com/baeldung/guice/common/PersonDaoImpl.java similarity index 58% rename from di-modules/guice/src/main/java/com/baeldung/examples/common/PersonDaoImpl.java rename to di-modules/guice/src/main/java/com/baeldung/guice/common/PersonDaoImpl.java index ecbf198cc090..8ca281b7003d 100644 --- a/di-modules/guice/src/main/java/com/baeldung/examples/common/PersonDaoImpl.java +++ b/di-modules/guice/src/main/java/com/baeldung/guice/common/PersonDaoImpl.java @@ -1,4 +1,4 @@ -package com.baeldung.examples.common; +package com.baeldung.guice.common; public class PersonDaoImpl implements PersonDao { diff --git a/di-modules/guice/src/main/java/com/baeldung/examples/guice/constant/CommunicationModel.java b/di-modules/guice/src/main/java/com/baeldung/guice/constant/CommunicationModel.java similarity index 82% rename from di-modules/guice/src/main/java/com/baeldung/examples/guice/constant/CommunicationModel.java rename to di-modules/guice/src/main/java/com/baeldung/guice/constant/CommunicationModel.java index 3483e9cefd72..33f0937416f8 100644 --- a/di-modules/guice/src/main/java/com/baeldung/examples/guice/constant/CommunicationModel.java +++ b/di-modules/guice/src/main/java/com/baeldung/guice/constant/CommunicationModel.java @@ -1,5 +1,5 @@ -package com.baeldung.examples.guice.constant; +package com.baeldung.guice.constant; /** * diff --git a/di-modules/guice/src/main/java/com/baeldung/examples/guice/marker/Communicator.java b/di-modules/guice/src/main/java/com/baeldung/guice/marker/Communicator.java similarity index 85% rename from di-modules/guice/src/main/java/com/baeldung/examples/guice/marker/Communicator.java rename to di-modules/guice/src/main/java/com/baeldung/guice/marker/Communicator.java index 45c729a9a376..85e0cb5f858f 100644 --- a/di-modules/guice/src/main/java/com/baeldung/examples/guice/marker/Communicator.java +++ b/di-modules/guice/src/main/java/com/baeldung/guice/marker/Communicator.java @@ -3,7 +3,7 @@ * To change this template file, choose Tools | Templates * and open the template in the editor. */ -package com.baeldung.examples.guice.marker; +package com.baeldung.guice.marker; /** * diff --git a/di-modules/guice/src/main/java/com/baeldung/examples/guice/modules/BasicModule.java b/di-modules/guice/src/main/java/com/baeldung/guice/modules/BasicModule.java similarity index 62% rename from di-modules/guice/src/main/java/com/baeldung/examples/guice/modules/BasicModule.java rename to di-modules/guice/src/main/java/com/baeldung/guice/modules/BasicModule.java index f27d8b3a5398..249fc6665818 100644 --- a/di-modules/guice/src/main/java/com/baeldung/examples/guice/modules/BasicModule.java +++ b/di-modules/guice/src/main/java/com/baeldung/guice/modules/BasicModule.java @@ -1,12 +1,12 @@ -package com.baeldung.examples.guice.modules; +package com.baeldung.guice.modules; -import com.baeldung.examples.guice.Communication; -import com.baeldung.examples.guice.CommunicationMode; -import com.baeldung.examples.guice.DefaultCommunicator; -import com.baeldung.examples.guice.EmailCommunicationMode; -import com.baeldung.examples.guice.IMCommunicationMode; -import com.baeldung.examples.guice.SMSCommunicationMode; +import com.baeldung.guice.Communication; +import com.baeldung.guice.CommunicationMode; +import com.baeldung.guice.DefaultCommunicator; +import com.baeldung.guice.EmailCommunicationMode; +import com.baeldung.guice.IMCommunicationMode; +import com.baeldung.guice.SMSCommunicationMode; import com.google.inject.AbstractModule; import com.google.inject.name.Names; import java.util.logging.Level; @@ -24,9 +24,9 @@ protected void configure() { bind(Communication.class).toConstructor(Communication.class.getConstructor(Boolean.class)); bind(Boolean.class).toInstance(true); } catch (NoSuchMethodException ex) { - Logger.getLogger(com.baeldung.examples.guice.binding.BasicModule.class.getName()).log(Level.SEVERE, null, ex); + Logger.getLogger(com.baeldung.guice.binding.BasicModule.class.getName()).log(Level.SEVERE, null, ex); } catch (SecurityException ex) { - Logger.getLogger(com.baeldung.examples.guice.binding.BasicModule.class.getName()).log(Level.SEVERE, null, ex); + Logger.getLogger(com.baeldung.guice.binding.BasicModule.class.getName()).log(Level.SEVERE, null, ex); } bind(DefaultCommunicator.class).annotatedWith(Names.named("AnotherCommunicator")).to(DefaultCommunicator.class).asEagerSingleton(); diff --git a/di-modules/guice/src/main/java/com/baeldung/examples/guice/modules/GuiceModule.java b/di-modules/guice/src/main/java/com/baeldung/guice/modules/GuiceModule.java similarity index 68% rename from di-modules/guice/src/main/java/com/baeldung/examples/guice/modules/GuiceModule.java rename to di-modules/guice/src/main/java/com/baeldung/guice/modules/GuiceModule.java index fbcd36b56a98..88b273d83adf 100644 --- a/di-modules/guice/src/main/java/com/baeldung/examples/guice/modules/GuiceModule.java +++ b/di-modules/guice/src/main/java/com/baeldung/guice/modules/GuiceModule.java @@ -1,13 +1,13 @@ -package com.baeldung.examples.guice.modules; +package com.baeldung.guice.modules; -import com.baeldung.examples.common.AccountService; -import com.baeldung.examples.common.AccountServiceImpl; -import com.baeldung.examples.common.BookService; -import com.baeldung.examples.common.BookServiceImpl; -import com.baeldung.examples.common.PersonDao; -import com.baeldung.examples.common.PersonDaoImpl; -import com.baeldung.examples.guice.Foo; -import com.baeldung.examples.guice.Person; +import com.baeldung.guice.common.AccountService; +import com.baeldung.guice.common.AccountServiceImpl; +import com.baeldung.guice.common.BookService; +import com.baeldung.guice.common.BookServiceImpl; +import com.baeldung.guice.common.PersonDao; +import com.baeldung.guice.common.PersonDaoImpl; +import com.baeldung.guice.Foo; +import com.baeldung.guice.Person; import com.google.inject.AbstractModule; import com.google.inject.Provider; import com.google.inject.Provides; diff --git a/di-modules/guice/src/main/java/com/baeldung/guice/provider/EmailNotifier.java b/di-modules/guice/src/main/java/com/baeldung/guice/provider/EmailNotifier.java new file mode 100644 index 000000000000..32203620b3c7 --- /dev/null +++ b/di-modules/guice/src/main/java/com/baeldung/guice/provider/EmailNotifier.java @@ -0,0 +1,26 @@ +package com.baeldung.guice.provider; + +import com.google.inject.Provider; +import java.util.logging.Logger; + +public class EmailNotifier implements Notifier, Provider { + + private String smtpUrl; + private String user; + private String password; + private EmailNotifier emailNotifier; + Logger log = Logger.getLogger(EmailNotifier.class.getName()); + + @Override + public Notifier get() { + // perform some initialization for email notifier + this.smtpUrl = "smtp://localhost:25"; + emailNotifier = new EmailNotifier(); + return emailNotifier; + } + + @Override + public void sendNotification(String message) { + log.info("Sending email notification: " + message); + } +} \ No newline at end of file diff --git a/di-modules/guice/src/main/java/com/baeldung/guice/provider/Logger.java b/di-modules/guice/src/main/java/com/baeldung/guice/provider/Logger.java new file mode 100644 index 000000000000..4737ecbe3c01 --- /dev/null +++ b/di-modules/guice/src/main/java/com/baeldung/guice/provider/Logger.java @@ -0,0 +1,6 @@ +package com.baeldung.guice.provider; + + +public interface Logger { + String log(String message); +} diff --git a/di-modules/guice/src/main/java/com/baeldung/guice/provider/MyGuiceModule.java b/di-modules/guice/src/main/java/com/baeldung/guice/provider/MyGuiceModule.java new file mode 100644 index 000000000000..0c89558ea0bc --- /dev/null +++ b/di-modules/guice/src/main/java/com/baeldung/guice/provider/MyGuiceModule.java @@ -0,0 +1,31 @@ +package com.baeldung.guice.provider; + +import com.google.inject.AbstractModule; +import com.google.inject.Provides; +import com.google.inject.name.Names; + +public class MyGuiceModule extends AbstractModule { + /** + * This method is called when the Guice injector is created. + * It binds the Notifier interface to the EmailNotifier implementation. + */ + + @Override + protected void configure() { + bind(Notifier.class).annotatedWith(Names.named("Email")) + .toProvider(EmailNotifier.class); + + bind(Notifier.class).annotatedWith(Names.named("Phone")) + .toProvider(PhoneNotifier.class); + } + + @Provides + public Logger provideLogger() { + return new Logger() { + @Override + public String log(String message) { + return "Logging message: " + message; + } + }; + } +} diff --git a/di-modules/guice/src/main/java/com/baeldung/guice/provider/MyService.java b/di-modules/guice/src/main/java/com/baeldung/guice/provider/MyService.java new file mode 100644 index 000000000000..c8ee029c2370 --- /dev/null +++ b/di-modules/guice/src/main/java/com/baeldung/guice/provider/MyService.java @@ -0,0 +1,15 @@ +package com.baeldung.guice.provider; + +import com.google.inject.Inject; +import com.google.inject.name.Named; + +public class MyService { + private final Notifier emailNotifier; + private final Notifier phoneNotifier; + + @Inject + public MyService(@Named("Email") Notifier emailNotifier, @Named("Phone") Notifier phoneNotifier) { + this.emailNotifier = emailNotifier; + this.phoneNotifier = phoneNotifier; + } +} \ No newline at end of file diff --git a/di-modules/guice/src/main/java/com/baeldung/guice/provider/Notifier.java b/di-modules/guice/src/main/java/com/baeldung/guice/provider/Notifier.java new file mode 100644 index 000000000000..bc55889d7064 --- /dev/null +++ b/di-modules/guice/src/main/java/com/baeldung/guice/provider/Notifier.java @@ -0,0 +1,5 @@ +package com.baeldung.guice.provider; + +public interface Notifier { + void sendNotification(String message); +} diff --git a/di-modules/guice/src/main/java/com/baeldung/guice/provider/PhoneNotifier.java b/di-modules/guice/src/main/java/com/baeldung/guice/provider/PhoneNotifier.java new file mode 100644 index 000000000000..1ad5d2b5a2e0 --- /dev/null +++ b/di-modules/guice/src/main/java/com/baeldung/guice/provider/PhoneNotifier.java @@ -0,0 +1,26 @@ +package com.baeldung.guice.provider; + +import java.util.logging.Logger; + +import com.google.inject.Provider; + +public class PhoneNotifier implements Notifier, Provider { + private String fromNumber; + private String toNumber; + + private PhoneNotifier phoneNotifier; + Logger log = Logger.getLogger(EmailNotifier.class.getName()); + + @Override + public Notifier get() { + // perform some initialization for email notifier + this.fromNumber = "baeldung"; + phoneNotifier = new PhoneNotifier(); + return phoneNotifier; + } + + @Override + public void sendNotification(String message) { + log.info("Sending phone notification: " + message); + } +} diff --git a/di-modules/guice/src/test/java/com/baeldung/guice/GuiceProviderUnitTest.java b/di-modules/guice/src/test/java/com/baeldung/guice/GuiceProviderUnitTest.java new file mode 100644 index 000000000000..4702800f17f4 --- /dev/null +++ b/di-modules/guice/src/test/java/com/baeldung/guice/GuiceProviderUnitTest.java @@ -0,0 +1,38 @@ +package com.baeldung.guice; + +import org.junit.Test; +import org.junit.jupiter.api.Assertions; +import com.baeldung.guice.provider.MyGuiceModule; +import com.baeldung.guice.provider.Notifier; +import com.baeldung.guice.provider.EmailNotifier; +import com.baeldung.guice.provider.Logger; + +import com.baeldung.guice.provider.PhoneNotifier; +import com.google.inject.Guice; +import com.google.inject.Injector; + +public class GuiceProviderUnitTest { + @Test + public void givenGuiceProvider_whenInjecting_thenShouldReturnEmailNotifier() { + // Create a Guice injector with the NotifierModule + Injector injector = Guice.createInjector(new MyGuiceModule()); + // Get an instance of Notifier from the injector + Notifier emailNotifier = injector.getInstance(EmailNotifier.class); + Notifier phoneNotifier = injector.getInstance(PhoneNotifier.class); + // Assert that notifier is of type EmailNotifier + assert emailNotifier != null; + + assert emailNotifier instanceof EmailNotifier; + assert phoneNotifier instanceof PhoneNotifier; + } + + @Test + public void givenGuiceProvider_whenInjectingWithProvides_thenShouldReturnCustomLogger() { + // Create a Guice injector with the NotifierModule + Injector injector = Guice.createInjector(new MyGuiceModule()); + // Get an instance of Logger from the injector + Logger logger = injector.getInstance(Logger.class); + assert logger != null; + Assertions.assertNotNull(logger.log("Hello world")); + } +} diff --git a/di-modules/guice/src/test/java/com/baeldung/examples/GuiceUnitTest.java b/di-modules/guice/src/test/java/com/baeldung/guice/GuiceUnitTest.java similarity index 86% rename from di-modules/guice/src/test/java/com/baeldung/examples/GuiceUnitTest.java rename to di-modules/guice/src/test/java/com/baeldung/guice/GuiceUnitTest.java index dd2a89e101aa..5daf55d7f33b 100644 --- a/di-modules/guice/src/test/java/com/baeldung/examples/GuiceUnitTest.java +++ b/di-modules/guice/src/test/java/com/baeldung/guice/GuiceUnitTest.java @@ -1,15 +1,11 @@ -package com.baeldung.examples; +package com.baeldung.guice; import static org.junit.Assert.assertNotNull; import org.junit.Test; -import com.baeldung.examples.common.BookService; -import com.baeldung.examples.guice.FooProcessor; -import com.baeldung.examples.guice.GuicePersonService; -import com.baeldung.examples.guice.GuiceUserService; -import com.baeldung.examples.guice.Person; -import com.baeldung.examples.guice.modules.GuiceModule; +import com.baeldung.guice.common.BookService; +import com.baeldung.guice.modules.GuiceModule; import com.google.inject.Guice; import com.google.inject.Injector;