From 3433af92237309673555e16664d6c5a28d7109b8 Mon Sep 17 00:00:00 2001 From: eugenp Date: Sun, 11 Aug 2013 15:41:26 +0300 Subject: [PATCH] example for reproducing various exceptions --- .../beancreationexception/cause1/BeanA.java | 12 ++++++++++++ .../beancreationexception/cause1/BeanB.java | 5 +++++ .../beancreationexception/cause2/BeanA.java | 12 ++++++++++++ .../beancreationexception/cause2/BeanB1.java | 8 ++++++++ .../beancreationexception/cause2/BeanB2.java | 8 ++++++++ .../beancreationexception/cause2/IBeanB.java | 5 +++++ .../beancreationexception/cause3/BeanA.java | 12 ++++++++++++ .../spring/Cause1ContextWithJavaConfig.java | 16 ++++++++++++++++ .../spring/Cause2ContextWithJavaConfig.java | 16 ++++++++++++++++ .../spring/Cause3ContextWithJavaConfig.java | 16 ++++++++++++++++ .../spring/Cause4ContextWithJavaConfig.java | 16 ++++++++++++++++ ...1BeanCreationExceptionIntegrationTest.java | 19 +++++++++++++++++++ ...2BeanCreationExceptionIntegrationTest.java | 19 +++++++++++++++++++ ...3BeanCreationExceptionIntegrationTest.java | 19 +++++++++++++++++++ ...4BeanCreationExceptionIntegrationTest.java | 19 +++++++++++++++++++ 15 files changed, 202 insertions(+) create mode 100644 spring-exceptions/src/main/java/org/baeldung/ex/beancreationexception/cause1/BeanA.java create mode 100644 spring-exceptions/src/main/java/org/baeldung/ex/beancreationexception/cause1/BeanB.java create mode 100644 spring-exceptions/src/main/java/org/baeldung/ex/beancreationexception/cause2/BeanA.java create mode 100644 spring-exceptions/src/main/java/org/baeldung/ex/beancreationexception/cause2/BeanB1.java create mode 100644 spring-exceptions/src/main/java/org/baeldung/ex/beancreationexception/cause2/BeanB2.java create mode 100644 spring-exceptions/src/main/java/org/baeldung/ex/beancreationexception/cause2/IBeanB.java create mode 100644 spring-exceptions/src/main/java/org/baeldung/ex/beancreationexception/cause3/BeanA.java create mode 100644 spring-exceptions/src/main/java/org/baeldung/ex/beancreationexception/spring/Cause1ContextWithJavaConfig.java create mode 100644 spring-exceptions/src/main/java/org/baeldung/ex/beancreationexception/spring/Cause2ContextWithJavaConfig.java create mode 100644 spring-exceptions/src/main/java/org/baeldung/ex/beancreationexception/spring/Cause3ContextWithJavaConfig.java create mode 100644 spring-exceptions/src/main/java/org/baeldung/ex/beancreationexception/spring/Cause4ContextWithJavaConfig.java create mode 100644 spring-exceptions/src/test/java/org/baeldung/ex/beancreationexception/Cause1BeanCreationExceptionIntegrationTest.java create mode 100644 spring-exceptions/src/test/java/org/baeldung/ex/beancreationexception/Cause2BeanCreationExceptionIntegrationTest.java create mode 100644 spring-exceptions/src/test/java/org/baeldung/ex/beancreationexception/Cause3BeanCreationExceptionIntegrationTest.java create mode 100644 spring-exceptions/src/test/java/org/baeldung/ex/beancreationexception/Cause4BeanCreationExceptionIntegrationTest.java diff --git a/spring-exceptions/src/main/java/org/baeldung/ex/beancreationexception/cause1/BeanA.java b/spring-exceptions/src/main/java/org/baeldung/ex/beancreationexception/cause1/BeanA.java new file mode 100644 index 0000000000..50d07c6d39 --- /dev/null +++ b/spring-exceptions/src/main/java/org/baeldung/ex/beancreationexception/cause1/BeanA.java @@ -0,0 +1,12 @@ +package org.baeldung.ex.beancreationexception.cause1; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +@Component +public class BeanA { + + @Autowired + private BeanB dependency; + +} \ No newline at end of file diff --git a/spring-exceptions/src/main/java/org/baeldung/ex/beancreationexception/cause1/BeanB.java b/spring-exceptions/src/main/java/org/baeldung/ex/beancreationexception/cause1/BeanB.java new file mode 100644 index 0000000000..8b4b17a0c6 --- /dev/null +++ b/spring-exceptions/src/main/java/org/baeldung/ex/beancreationexception/cause1/BeanB.java @@ -0,0 +1,5 @@ +package org.baeldung.ex.beancreationexception.cause1; + +public class BeanB { + // +} diff --git a/spring-exceptions/src/main/java/org/baeldung/ex/beancreationexception/cause2/BeanA.java b/spring-exceptions/src/main/java/org/baeldung/ex/beancreationexception/cause2/BeanA.java new file mode 100644 index 0000000000..352dd5f2db --- /dev/null +++ b/spring-exceptions/src/main/java/org/baeldung/ex/beancreationexception/cause2/BeanA.java @@ -0,0 +1,12 @@ +package org.baeldung.ex.beancreationexception.cause2; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +@Component +public class BeanA { + + @Autowired + private IBeanB dependency; + +} \ No newline at end of file diff --git a/spring-exceptions/src/main/java/org/baeldung/ex/beancreationexception/cause2/BeanB1.java b/spring-exceptions/src/main/java/org/baeldung/ex/beancreationexception/cause2/BeanB1.java new file mode 100644 index 0000000000..b9ec961d1e --- /dev/null +++ b/spring-exceptions/src/main/java/org/baeldung/ex/beancreationexception/cause2/BeanB1.java @@ -0,0 +1,8 @@ +package org.baeldung.ex.beancreationexception.cause2; + +import org.springframework.stereotype.Component; + +@Component +public class BeanB1 implements IBeanB { + // +} diff --git a/spring-exceptions/src/main/java/org/baeldung/ex/beancreationexception/cause2/BeanB2.java b/spring-exceptions/src/main/java/org/baeldung/ex/beancreationexception/cause2/BeanB2.java new file mode 100644 index 0000000000..aa7fe8250a --- /dev/null +++ b/spring-exceptions/src/main/java/org/baeldung/ex/beancreationexception/cause2/BeanB2.java @@ -0,0 +1,8 @@ +package org.baeldung.ex.beancreationexception.cause2; + +import org.springframework.stereotype.Component; + +@Component +public class BeanB2 implements IBeanB { + // +} diff --git a/spring-exceptions/src/main/java/org/baeldung/ex/beancreationexception/cause2/IBeanB.java b/spring-exceptions/src/main/java/org/baeldung/ex/beancreationexception/cause2/IBeanB.java new file mode 100644 index 0000000000..60e8a0a429 --- /dev/null +++ b/spring-exceptions/src/main/java/org/baeldung/ex/beancreationexception/cause2/IBeanB.java @@ -0,0 +1,5 @@ +package org.baeldung.ex.beancreationexception.cause2; + +public interface IBeanB { + // +} diff --git a/spring-exceptions/src/main/java/org/baeldung/ex/beancreationexception/cause3/BeanA.java b/spring-exceptions/src/main/java/org/baeldung/ex/beancreationexception/cause3/BeanA.java new file mode 100644 index 0000000000..2f2d1b2684 --- /dev/null +++ b/spring-exceptions/src/main/java/org/baeldung/ex/beancreationexception/cause3/BeanA.java @@ -0,0 +1,12 @@ +package org.baeldung.ex.beancreationexception.cause3; + +import org.springframework.stereotype.Component; + +@Component +public class BeanA { + + public BeanA() { + super(); + throw new NullPointerException(); + } +} \ No newline at end of file diff --git a/spring-exceptions/src/main/java/org/baeldung/ex/beancreationexception/spring/Cause1ContextWithJavaConfig.java b/spring-exceptions/src/main/java/org/baeldung/ex/beancreationexception/spring/Cause1ContextWithJavaConfig.java new file mode 100644 index 0000000000..cb74b96b67 --- /dev/null +++ b/spring-exceptions/src/main/java/org/baeldung/ex/beancreationexception/spring/Cause1ContextWithJavaConfig.java @@ -0,0 +1,16 @@ +package org.baeldung.ex.beancreationexception.spring; + +import org.springframework.context.annotation.ComponentScan; +import org.springframework.context.annotation.Configuration; + +@Configuration +@ComponentScan("org.baeldung.ex.beancreationexception.cause1") +public class Cause1ContextWithJavaConfig { + + public Cause1ContextWithJavaConfig() { + super(); + } + + // beans + +} \ No newline at end of file diff --git a/spring-exceptions/src/main/java/org/baeldung/ex/beancreationexception/spring/Cause2ContextWithJavaConfig.java b/spring-exceptions/src/main/java/org/baeldung/ex/beancreationexception/spring/Cause2ContextWithJavaConfig.java new file mode 100644 index 0000000000..6b20439059 --- /dev/null +++ b/spring-exceptions/src/main/java/org/baeldung/ex/beancreationexception/spring/Cause2ContextWithJavaConfig.java @@ -0,0 +1,16 @@ +package org.baeldung.ex.beancreationexception.spring; + +import org.springframework.context.annotation.ComponentScan; +import org.springframework.context.annotation.Configuration; + +@Configuration +@ComponentScan("org.baeldung.ex.beancreationexception.cause2") +public class Cause2ContextWithJavaConfig { + + public Cause2ContextWithJavaConfig() { + super(); + } + + // beans + +} \ No newline at end of file diff --git a/spring-exceptions/src/main/java/org/baeldung/ex/beancreationexception/spring/Cause3ContextWithJavaConfig.java b/spring-exceptions/src/main/java/org/baeldung/ex/beancreationexception/spring/Cause3ContextWithJavaConfig.java new file mode 100644 index 0000000000..437d2c4c20 --- /dev/null +++ b/spring-exceptions/src/main/java/org/baeldung/ex/beancreationexception/spring/Cause3ContextWithJavaConfig.java @@ -0,0 +1,16 @@ +package org.baeldung.ex.beancreationexception.spring; + +import org.springframework.context.annotation.ComponentScan; +import org.springframework.context.annotation.Configuration; + +@Configuration +@ComponentScan("org.baeldung.ex.beancreationexception.cause3") +public class Cause3ContextWithJavaConfig { + + public Cause3ContextWithJavaConfig() { + super(); + } + + // beans + +} \ No newline at end of file diff --git a/spring-exceptions/src/main/java/org/baeldung/ex/beancreationexception/spring/Cause4ContextWithJavaConfig.java b/spring-exceptions/src/main/java/org/baeldung/ex/beancreationexception/spring/Cause4ContextWithJavaConfig.java new file mode 100644 index 0000000000..456c24f995 --- /dev/null +++ b/spring-exceptions/src/main/java/org/baeldung/ex/beancreationexception/spring/Cause4ContextWithJavaConfig.java @@ -0,0 +1,16 @@ +package org.baeldung.ex.beancreationexception.spring; + +import org.springframework.context.annotation.ComponentScan; +import org.springframework.context.annotation.Configuration; + +@Configuration +@ComponentScan("org.baeldung.ex.beancreationexception.cause4") +public class Cause4ContextWithJavaConfig { + + public Cause4ContextWithJavaConfig() { + super(); + } + + // beans + +} \ No newline at end of file diff --git a/spring-exceptions/src/test/java/org/baeldung/ex/beancreationexception/Cause1BeanCreationExceptionIntegrationTest.java b/spring-exceptions/src/test/java/org/baeldung/ex/beancreationexception/Cause1BeanCreationExceptionIntegrationTest.java new file mode 100644 index 0000000000..56d916e25d --- /dev/null +++ b/spring-exceptions/src/test/java/org/baeldung/ex/beancreationexception/Cause1BeanCreationExceptionIntegrationTest.java @@ -0,0 +1,19 @@ +package org.baeldung.ex.beancreationexception; + +import org.baeldung.ex.beancreationexception.spring.Cause1ContextWithJavaConfig; +import org.junit.Test; +import org.junit.runner.RunWith; +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 = { Cause1ContextWithJavaConfig.class }, loader = AnnotationConfigContextLoader.class) +public class Cause1BeanCreationExceptionIntegrationTest { + + @Test + public final void givenContextIsInitialized_thenNoException() { + // + } + +} diff --git a/spring-exceptions/src/test/java/org/baeldung/ex/beancreationexception/Cause2BeanCreationExceptionIntegrationTest.java b/spring-exceptions/src/test/java/org/baeldung/ex/beancreationexception/Cause2BeanCreationExceptionIntegrationTest.java new file mode 100644 index 0000000000..968e7312de --- /dev/null +++ b/spring-exceptions/src/test/java/org/baeldung/ex/beancreationexception/Cause2BeanCreationExceptionIntegrationTest.java @@ -0,0 +1,19 @@ +package org.baeldung.ex.beancreationexception; + +import org.baeldung.ex.beancreationexception.spring.Cause2ContextWithJavaConfig; +import org.junit.Test; +import org.junit.runner.RunWith; +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 = { Cause2ContextWithJavaConfig.class }, loader = AnnotationConfigContextLoader.class) +public class Cause2BeanCreationExceptionIntegrationTest { + + @Test + public final void givenContextIsInitialized_thenNoException() { + // + } + +} diff --git a/spring-exceptions/src/test/java/org/baeldung/ex/beancreationexception/Cause3BeanCreationExceptionIntegrationTest.java b/spring-exceptions/src/test/java/org/baeldung/ex/beancreationexception/Cause3BeanCreationExceptionIntegrationTest.java new file mode 100644 index 0000000000..4730d59334 --- /dev/null +++ b/spring-exceptions/src/test/java/org/baeldung/ex/beancreationexception/Cause3BeanCreationExceptionIntegrationTest.java @@ -0,0 +1,19 @@ +package org.baeldung.ex.beancreationexception; + +import org.baeldung.ex.beancreationexception.spring.Cause3ContextWithJavaConfig; +import org.junit.Test; +import org.junit.runner.RunWith; +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 = { Cause3ContextWithJavaConfig.class }, loader = AnnotationConfigContextLoader.class) +public class Cause3BeanCreationExceptionIntegrationTest { + + @Test + public final void givenContextIsInitialized_thenNoException() { + // + } + +} diff --git a/spring-exceptions/src/test/java/org/baeldung/ex/beancreationexception/Cause4BeanCreationExceptionIntegrationTest.java b/spring-exceptions/src/test/java/org/baeldung/ex/beancreationexception/Cause4BeanCreationExceptionIntegrationTest.java new file mode 100644 index 0000000000..b5108c1ab4 --- /dev/null +++ b/spring-exceptions/src/test/java/org/baeldung/ex/beancreationexception/Cause4BeanCreationExceptionIntegrationTest.java @@ -0,0 +1,19 @@ +package org.baeldung.ex.beancreationexception; + +import org.baeldung.ex.beancreationexception.spring.Cause4ContextWithJavaConfig; +import org.junit.Test; +import org.junit.runner.RunWith; +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 = { Cause4ContextWithJavaConfig.class }, loader = AnnotationConfigContextLoader.class) +public class Cause4BeanCreationExceptionIntegrationTest { + + @Test + public final void givenContextIsInitialized_thenNoException() { + // + } + +}