diff --git a/spring-core/src/main/java/com/baeldung/aware/AwareExample.java b/spring-core/src/main/java/com/baeldung/aware/AwareExample.java new file mode 100644 index 0000000000..575d0d1792 --- /dev/null +++ b/spring-core/src/main/java/com/baeldung/aware/AwareExample.java @@ -0,0 +1,20 @@ +package com.baeldung.aware; + +import org.springframework.context.annotation.AnnotationConfigApplicationContext; + +/** + * Created by Gebruiker on 4/24/2018. + */ +public class AwareExample { + + public static void main(String[] args) { + + AnnotationConfigApplicationContext context + = new AnnotationConfigApplicationContext(Config.class); + + MyBeanName myBeanName = context.getBean(MyBeanName.class); + + MyBeanFactory myBeanFactory = context.getBean(MyBeanFactory.class); + myBeanFactory.getMyBeanName(); + } +} diff --git a/spring-core/src/main/java/com/baeldung/aware/Config.java b/spring-core/src/main/java/com/baeldung/aware/Config.java new file mode 100644 index 0000000000..c75adc9335 --- /dev/null +++ b/spring-core/src/main/java/com/baeldung/aware/Config.java @@ -0,0 +1,18 @@ +package com.baeldung.aware; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +public class Config { + + @Bean(name = "myCustomBeanName") + public MyBeanName getMyBeanName() { + return new MyBeanName(); + } + + @Bean + public MyBeanFactory getMyBeanFactory() { + return new MyBeanFactory(); + } +} diff --git a/spring-core/src/main/java/com/baeldung/aware/MyBeanFactory.java b/spring-core/src/main/java/com/baeldung/aware/MyBeanFactory.java new file mode 100644 index 0000000000..6cdbd3dd7d --- /dev/null +++ b/spring-core/src/main/java/com/baeldung/aware/MyBeanFactory.java @@ -0,0 +1,24 @@ +package com.baeldung.aware; + +import org.springframework.beans.BeansException; +import org.springframework.beans.factory.BeanFactory; +import org.springframework.beans.factory.BeanFactoryAware; + +/** + * Created by Gebruiker on 4/25/2018. + */ +public class MyBeanFactory implements BeanFactoryAware { + + private BeanFactory beanFactory; + + @Override + public void setBeanFactory(BeanFactory beanFactory) throws BeansException { + this.beanFactory = beanFactory; + } + + public void getMyBeanName() { + MyBeanName myBeanName = beanFactory.getBean(MyBeanName.class); + System.out.println(beanFactory.isSingleton("myCustomBeanName")); + } + +} diff --git a/spring-core/src/main/java/com/baeldung/aware/MyBeanName.java b/spring-core/src/main/java/com/baeldung/aware/MyBeanName.java new file mode 100644 index 0000000000..cfd6a5765d --- /dev/null +++ b/spring-core/src/main/java/com/baeldung/aware/MyBeanName.java @@ -0,0 +1,11 @@ +package com.baeldung.aware; + +import org.springframework.beans.factory.BeanNameAware; + +public class MyBeanName implements BeanNameAware { + + @Override + public void setBeanName(String beanName) { + System.out.println(beanName); + } +}