From f755fce0bb765b46fbadcab4b0fe79a698cccab6 Mon Sep 17 00:00:00 2001 From: Grzegorz Piwowarek Date: Sat, 13 Aug 2016 13:12:57 +0200 Subject: [PATCH] Initial classes --- .../baeldung/profiles/DatasourceConfig.java | 2 +- .../startup/InitializingBeanExampleBean.java | 12 +++++++++ .../LogicInConstructorExampleBean.java | 18 +++++++++++++ ...StartupApplicationListenerExampleBean.java | 4 +++ .../startup/PostConstructExampleBean.java | 15 +++++++++++ .../baeldung/startup/SpringStartupConfig.java | 10 ++++++++ .../baeldung/startup/SpringStartupTest.java | 25 +++++++++++++++++++ 7 files changed, 85 insertions(+), 1 deletion(-) create mode 100644 spring-all/src/main/java/org/baeldung/startup/InitializingBeanExampleBean.java create mode 100644 spring-all/src/main/java/org/baeldung/startup/LogicInConstructorExampleBean.java create mode 100644 spring-all/src/main/java/org/baeldung/startup/OnStartupApplicationListenerExampleBean.java create mode 100644 spring-all/src/main/java/org/baeldung/startup/PostConstructExampleBean.java create mode 100644 spring-all/src/main/java/org/baeldung/startup/SpringStartupConfig.java create mode 100644 spring-all/src/test/java/org/baeldung/startup/SpringStartupTest.java diff --git a/spring-all/src/main/java/org/baeldung/profiles/DatasourceConfig.java b/spring-all/src/main/java/org/baeldung/profiles/DatasourceConfig.java index 80cb060c7e..8fde925fd8 100644 --- a/spring-all/src/main/java/org/baeldung/profiles/DatasourceConfig.java +++ b/spring-all/src/main/java/org/baeldung/profiles/DatasourceConfig.java @@ -1,5 +1,5 @@ package org.baeldung.profiles; public interface DatasourceConfig { - public void setup(); + void setup(); } diff --git a/spring-all/src/main/java/org/baeldung/startup/InitializingBeanExampleBean.java b/spring-all/src/main/java/org/baeldung/startup/InitializingBeanExampleBean.java new file mode 100644 index 0000000000..431307b81a --- /dev/null +++ b/spring-all/src/main/java/org/baeldung/startup/InitializingBeanExampleBean.java @@ -0,0 +1,12 @@ +package org.baeldung.startup; + +import org.springframework.beans.factory.InitializingBean; +import org.springframework.context.annotation.Scope; + +@Scope(value = "prototype") +public class InitializingBeanExampleBean implements InitializingBean { + + @Override + public void afterPropertiesSet() throws Exception { + } +} diff --git a/spring-all/src/main/java/org/baeldung/startup/LogicInConstructorExampleBean.java b/spring-all/src/main/java/org/baeldung/startup/LogicInConstructorExampleBean.java new file mode 100644 index 0000000000..410eb3b061 --- /dev/null +++ b/spring-all/src/main/java/org/baeldung/startup/LogicInConstructorExampleBean.java @@ -0,0 +1,18 @@ +package org.baeldung.startup; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Scope; +import org.springframework.core.env.Environment; +import org.springframework.stereotype.Component; + +@Component +@Scope(value = "prototype") +public class LogicInConstructorExampleBean { + + @Autowired + private Environment environment; + + public LogicInConstructorExampleBean() { + environment.getActiveProfiles(); + } +} diff --git a/spring-all/src/main/java/org/baeldung/startup/OnStartupApplicationListenerExampleBean.java b/spring-all/src/main/java/org/baeldung/startup/OnStartupApplicationListenerExampleBean.java new file mode 100644 index 0000000000..259b468890 --- /dev/null +++ b/spring-all/src/main/java/org/baeldung/startup/OnStartupApplicationListenerExampleBean.java @@ -0,0 +1,4 @@ +package org.baeldung.startup; + +public class OnStartupApplicationListenerExampleBean { +} diff --git a/spring-all/src/main/java/org/baeldung/startup/PostConstructExampleBean.java b/spring-all/src/main/java/org/baeldung/startup/PostConstructExampleBean.java new file mode 100644 index 0000000000..3f7cb5e7d2 --- /dev/null +++ b/spring-all/src/main/java/org/baeldung/startup/PostConstructExampleBean.java @@ -0,0 +1,15 @@ +package org.baeldung.startup; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.env.Environment; +import org.springframework.stereotype.Component; + +@Component +public class PostConstructExampleBean { + + @Autowired + private Environment environment; + + public PostConstructExampleBean() { + } +} diff --git a/spring-all/src/main/java/org/baeldung/startup/SpringStartupConfig.java b/spring-all/src/main/java/org/baeldung/startup/SpringStartupConfig.java new file mode 100644 index 0000000000..b7874af28c --- /dev/null +++ b/spring-all/src/main/java/org/baeldung/startup/SpringStartupConfig.java @@ -0,0 +1,10 @@ +package org.baeldung.startup; + +import org.springframework.context.annotation.ComponentScan; +import org.springframework.context.annotation.Configuration; + +@Configuration +@ComponentScan("org.baeldung.startup") +public class SpringStartupConfig { + +} \ No newline at end of file diff --git a/spring-all/src/test/java/org/baeldung/startup/SpringStartupTest.java b/spring-all/src/test/java/org/baeldung/startup/SpringStartupTest.java new file mode 100644 index 0000000000..2f6ce1b5ea --- /dev/null +++ b/spring-all/src/test/java/org/baeldung/startup/SpringStartupTest.java @@ -0,0 +1,25 @@ +package org.baeldung.startup; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.BeanCreationException; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.ApplicationContext; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.context.support.AnnotationConfigContextLoader; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(classes = { SpringStartupConfig.class }, loader = AnnotationConfigContextLoader.class) +public class SpringStartupTest { + + @Autowired + private ApplicationContext ctx; + + @Test(expected = BeanCreationException.class) + public void whenInstantiating_shouldThrowNPE() throws Exception { + ctx.getBean(LogicInConstructorExampleBean.class); + } + + +} \ No newline at end of file