diff --git a/README.md b/README.md
index 1030cbb09c..7f78cf1515 100644
--- a/README.md
+++ b/README.md
@@ -32,7 +32,7 @@ Running a Spring Boot module
====================
To run a Spring Boot module run the command: `mvn spring-boot:run` in the module directory
-#Running Tests
+###Running Tests
The command `mvn clean install` will run the unit tests in a module.
To run the integration tests, use the command `mvn clean install -Pintegration-lite-first`
diff --git a/algorithms-miscellaneous-3/README.md b/algorithms-miscellaneous-3/README.md
index 71541cd2b3..cd3711d573 100644
--- a/algorithms-miscellaneous-3/README.md
+++ b/algorithms-miscellaneous-3/README.md
@@ -6,4 +6,4 @@
- [Practical Java Examples of the Big O Notation](http://www.baeldung.com/java-algorithm-complexity)
- [Checking If a List Is Sorted in Java](https://www.baeldung.com/java-check-if-list-sorted)
- [Checking if a Java Graph has a Cycle](https://www.baeldung.com/java-graph-has-a-cycle)
-- [A Guide to the Folding Technique](https://www.baeldung.com/folding-hashing-technique)
+- [A Guide to the Folding Technique in Java](https://www.baeldung.com/folding-hashing-technique)
diff --git a/algorithms-sorting/src/main/java/com/baeldung/algorithms/shellsort/ShellSort.java b/algorithms-sorting/src/main/java/com/baeldung/algorithms/shellsort/ShellSort.java
new file mode 100644
index 0000000000..c130e2d866
--- /dev/null
+++ b/algorithms-sorting/src/main/java/com/baeldung/algorithms/shellsort/ShellSort.java
@@ -0,0 +1,20 @@
+package com.baeldung.algorithms.shellsort;
+
+public class ShellSort {
+
+ public static void sort(int arrayToSort[]) {
+ int n = arrayToSort.length;
+
+ for (int gap = n / 2; gap > 0; gap /= 2) {
+ for (int i = gap; i < n; i++) {
+ int key = arrayToSort[i];
+ int j = i;
+ while (j >= gap && arrayToSort[j - gap] > key) {
+ arrayToSort[j] = arrayToSort[j - gap];
+ j -= gap;
+ }
+ arrayToSort[j] = key;
+ }
+ }
+ }
+}
diff --git a/algorithms-sorting/src/test/java/com/baeldung/algorithms/shellsort/ShellSortUnitTest.java b/algorithms-sorting/src/test/java/com/baeldung/algorithms/shellsort/ShellSortUnitTest.java
new file mode 100644
index 0000000000..91a27c41d0
--- /dev/null
+++ b/algorithms-sorting/src/test/java/com/baeldung/algorithms/shellsort/ShellSortUnitTest.java
@@ -0,0 +1,17 @@
+package com.baeldung.algorithms.shellsort;
+
+import static org.junit.Assert.*;
+import static org.junit.Assert.assertArrayEquals;
+
+import org.junit.Test;
+
+public class ShellSortUnitTest {
+
+ @Test
+ public void givenUnsortedArray_whenShellSort_thenSortedAsc() {
+ int[] input = {41, 15, 82, 5, 65, 19, 32, 43, 8};
+ ShellSort.sort(input);
+ int[] expected = {5, 8, 15, 19, 32, 41, 43, 65, 82};
+ assertArrayEquals("the two arrays are not equal", expected, input);
+ }
+}
diff --git a/axon/pom.xml b/axon/pom.xml
index 2b9ac1fcdd..3d30cceb83 100644
--- a/axon/pom.xml
+++ b/axon/pom.xml
@@ -18,12 +18,6 @@
org.axonframework
axon-spring-boot-starter
${axon.version}
-
-
- org.axonframework
- axon-server-connector
-
-
@@ -58,7 +52,7 @@
- 4.0.3
+ 4.1.2
\ No newline at end of file
diff --git a/axon/src/main/java/com/baeldung/axon/commandmodel/OrderAggregate.java b/axon/src/main/java/com/baeldung/axon/commandmodel/OrderAggregate.java
index b37b2fdd66..4ef02e6b54 100644
--- a/axon/src/main/java/com/baeldung/axon/commandmodel/OrderAggregate.java
+++ b/axon/src/main/java/com/baeldung/axon/commandmodel/OrderAggregate.java
@@ -13,6 +13,7 @@ import com.baeldung.axon.coreapi.commands.ShipOrderCommand;
import com.baeldung.axon.coreapi.events.OrderConfirmedEvent;
import com.baeldung.axon.coreapi.events.OrderPlacedEvent;
import com.baeldung.axon.coreapi.events.OrderShippedEvent;
+import com.baeldung.axon.coreapi.exceptions.UnconfirmedOrderException;
@Aggregate
public class OrderAggregate {
@@ -34,7 +35,7 @@ public class OrderAggregate {
@CommandHandler
public void handle(ShipOrderCommand command) {
if (!orderConfirmed) {
- throw new IllegalStateException("Cannot ship an order which has not been confirmed yet.");
+ throw new UnconfirmedOrderException();
}
apply(new OrderShippedEvent(orderId));
@@ -43,12 +44,12 @@ public class OrderAggregate {
@EventSourcingHandler
public void on(OrderPlacedEvent event) {
this.orderId = event.getOrderId();
- orderConfirmed = false;
+ this.orderConfirmed = false;
}
@EventSourcingHandler
public void on(OrderConfirmedEvent event) {
- orderConfirmed = true;
+ this.orderConfirmed = true;
}
protected OrderAggregate() {
diff --git a/axon/src/main/java/com/baeldung/axon/coreapi/exceptions/UnconfirmedOrderException.java b/axon/src/main/java/com/baeldung/axon/coreapi/exceptions/UnconfirmedOrderException.java
new file mode 100644
index 0000000000..1873bc6893
--- /dev/null
+++ b/axon/src/main/java/com/baeldung/axon/coreapi/exceptions/UnconfirmedOrderException.java
@@ -0,0 +1,8 @@
+package com.baeldung.axon.coreapi.exceptions;
+
+public class UnconfirmedOrderException extends IllegalStateException {
+
+ public UnconfirmedOrderException() {
+ super("Cannot ship an order which has not been confirmed yet.");
+ }
+}
diff --git a/axon/src/main/java/com/baeldung/axon/querymodel/OrderedProductsEventHandler.java b/axon/src/main/java/com/baeldung/axon/querymodel/OrderedProductsEventHandler.java
index d4cf3d999b..a37f0111ed 100644
--- a/axon/src/main/java/com/baeldung/axon/querymodel/OrderedProductsEventHandler.java
+++ b/axon/src/main/java/com/baeldung/axon/querymodel/OrderedProductsEventHandler.java
@@ -5,6 +5,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import org.axonframework.config.ProcessingGroup;
import org.axonframework.eventhandling.EventHandler;
import org.axonframework.queryhandling.QueryHandler;
import org.springframework.stereotype.Service;
@@ -16,6 +17,7 @@ import com.baeldung.axon.coreapi.queries.FindAllOrderedProductsQuery;
import com.baeldung.axon.coreapi.queries.OrderedProduct;
@Service
+@ProcessingGroup("ordered-products")
public class OrderedProductsEventHandler {
private final Map orderedProducts = new HashMap<>();
diff --git a/axon/src/main/resources/application.properties b/axon/src/main/resources/application.properties
new file mode 100644
index 0000000000..7c51eb8e1e
--- /dev/null
+++ b/axon/src/main/resources/application.properties
@@ -0,0 +1 @@
+spring.application.name=Order Management Service
\ No newline at end of file
diff --git a/axon/src/test/java/com/baeldung/axon/commandmodel/OrderAggregateUnitTest.java b/axon/src/test/java/com/baeldung/axon/commandmodel/OrderAggregateUnitTest.java
index 9beedbaa19..aaefe49fb1 100644
--- a/axon/src/test/java/com/baeldung/axon/commandmodel/OrderAggregateUnitTest.java
+++ b/axon/src/test/java/com/baeldung/axon/commandmodel/OrderAggregateUnitTest.java
@@ -2,6 +2,7 @@ package com.baeldung.axon.commandmodel;
import java.util.UUID;
+import com.baeldung.axon.coreapi.exceptions.UnconfirmedOrderException;
import org.axonframework.test.aggregate.AggregateTestFixture;
import org.axonframework.test.aggregate.FixtureConfiguration;
import org.junit.*;
@@ -41,12 +42,12 @@ public class OrderAggregateUnitTest {
}
@Test
- public void givenOrderPlacedEvent_whenShipOrderCommand_thenShouldThrowIllegalStateException() {
+ public void givenOrderPlacedEvent_whenShipOrderCommand_thenShouldThrowUnconfirmedOrderException() {
String orderId = UUID.randomUUID().toString();
String product = "Deluxe Chair";
fixture.given(new OrderPlacedEvent(orderId, product))
.when(new ShipOrderCommand(orderId))
- .expectException(IllegalStateException.class);
+ .expectException(UnconfirmedOrderException.class);
}
@Test
diff --git a/core-java-arrays/src/main/java/com/baeldung/array/looping/LoopDiagonally.java b/core-java-arrays/src/main/java/com/baeldung/array/looping/LoopDiagonally.java
new file mode 100644
index 0000000000..71e2840f45
--- /dev/null
+++ b/core-java-arrays/src/main/java/com/baeldung/array/looping/LoopDiagonally.java
@@ -0,0 +1,45 @@
+package com.baeldung.array.looping;
+
+public class LoopDiagonally {
+
+
+ public String loopDiagonally(String[][] twoDArray) {
+
+ int length = twoDArray.length;
+ int diagonalLines = (length + length) - 1;
+ int itemsInDiagonal = 0;
+ int midPoint = (diagonalLines / 2) + 1;
+ StringBuilder output = new StringBuilder();
+
+ for (int i = 1; i <= diagonalLines; i++) {
+
+ StringBuilder items = new StringBuilder();
+ int rowIndex;
+ int columnIndex;
+
+ if (i <= midPoint) {
+ itemsInDiagonal++;
+ for (int j = 0; j < itemsInDiagonal; j++) {
+ rowIndex = (i - j) - 1;
+ columnIndex = j;
+ items.append(twoDArray[rowIndex][columnIndex]);
+ }
+ } else {
+ itemsInDiagonal--;
+ for (int j = 0; j < itemsInDiagonal; j++) {
+ rowIndex = (length - 1) - j;
+ columnIndex = (i - length) + j;
+ items.append(twoDArray[rowIndex][columnIndex]);
+ }
+ }
+
+ if (i != diagonalLines) {
+ output.append(items).append(" ");
+ } else {
+ output.append(items);
+ }
+ }
+
+ return output.toString();
+ }
+}
diff --git a/core-java-arrays/src/test/java/com/baeldung/array/looping/LoopDiagonallyTest.java b/core-java-arrays/src/test/java/com/baeldung/array/looping/LoopDiagonallyTest.java
new file mode 100644
index 0000000000..df6079270b
--- /dev/null
+++ b/core-java-arrays/src/test/java/com/baeldung/array/looping/LoopDiagonallyTest.java
@@ -0,0 +1,20 @@
+package com.baeldung.array.looping;
+
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+
+public class LoopDiagonallyTest {
+
+ @Test
+ public void twoArrayIsLoopedDiagonallyAsExpected() {
+
+ LoopDiagonally loopDiagonally = new LoopDiagonally();
+ String[][] twoDArray = {{"a", "b", "c"},
+ {"d", "e", "f"},
+ {"g", "h", "i"}};
+
+ String output = loopDiagonally.loopDiagonally(twoDArray);
+ assertEquals("a db gec hf i", output);
+ }
+}
\ No newline at end of file
diff --git a/core-java-modules/core-java-11/src/main/java/com/baeldung/predicate/not/README.md b/core-java-modules/core-java-11/src/main/java/com/baeldung/predicate/not/README.md
new file mode 100644
index 0000000000..6f8f95970e
--- /dev/null
+++ b/core-java-modules/core-java-11/src/main/java/com/baeldung/predicate/not/README.md
@@ -0,0 +1,3 @@
+## Relevant articles:
+
+- [Negate a Predicate Method Reference with Java 11](https://www.baeldung.com/java-negate-predicate-method-reference)
diff --git a/core-java-modules/core-java-12/README.md b/core-java-modules/core-java-12/README.md
new file mode 100644
index 0000000000..4514fd1a2b
--- /dev/null
+++ b/core-java-modules/core-java-12/README.md
@@ -0,0 +1,3 @@
+## Relevant articles:
+
+- [String API Updates in Java 12](https://www.baeldung.com/java12-string-api)
diff --git a/core-java-modules/core-java-8/src/main/java/com/baeldung/java_8_features/groupingby/Tuple.java b/core-java-modules/core-java-8/src/main/java/com/baeldung/java_8_features/groupingby/Tuple.java
new file mode 100644
index 0000000000..7a9f62341e
--- /dev/null
+++ b/core-java-modules/core-java-8/src/main/java/com/baeldung/java_8_features/groupingby/Tuple.java
@@ -0,0 +1,34 @@
+package com.baeldung.java_8_features.groupingby;
+
+public class Tuple {
+
+ private BlogPostType type;
+ private String author;
+
+ public Tuple(BlogPostType type, String author) {
+ super();
+ this.type = type;
+ this.author = author;
+ }
+
+ public BlogPostType getType() {
+ return type;
+ }
+
+ public void setType(BlogPostType type) {
+ this.type = type;
+ }
+
+ public String getAuthor() {
+ return author;
+ }
+
+ public void setAuthor(String author) {
+ this.author = author;
+ }
+
+ @Override
+ public String toString() {
+ return "Tuple [type=" + type + ", author=" + author + ", getType()=" + getType() + ", getAuthor()=" + getAuthor() + ", getClass()=" + getClass() + ", hashCode()=" + hashCode() + ", toString()=" + super.toString() + "]";
+ }
+}
diff --git a/core-java-modules/core-java-8/src/test/java/com/baeldung/java8/optional/OptionalUnitTest.java b/core-java-modules/core-java-8/src/test/java/com/baeldung/java8/optional/OptionalUnitTest.java
index bd7943c77b..bf594610bb 100644
--- a/core-java-modules/core-java-8/src/test/java/com/baeldung/java8/optional/OptionalUnitTest.java
+++ b/core-java-modules/core-java-8/src/test/java/com/baeldung/java8/optional/OptionalUnitTest.java
@@ -259,4 +259,15 @@ public class OptionalUnitTest {
LOG.debug("Getting default value...");
return "Default Value";
}
+
+// Uncomment code when code base is compatiable with Java 11
+// @Test
+// public void givenAnEmptyOptional_thenIsEmptyBehavesAsExpected() {
+// Optional opt = Optional.of("Baeldung");
+// assertFalse(opt.isEmpty());
+//
+// opt = Optional.ofNullable(null);
+// assertTrue(opt.isEmpty());
+// }
+
}
\ No newline at end of file
diff --git a/core-java-modules/core-java-collections-array-list/src/test/java/org/baeldung/java/collections/CoreJavaCollectionsUnitTest.java b/core-java-modules/core-java-collections-array-list/src/test/java/org/baeldung/java/collections/CoreJavaCollectionsUnitTest.java
index ecf68e0b2c..5f7fe356c5 100644
--- a/core-java-modules/core-java-collections-array-list/src/test/java/org/baeldung/java/collections/CoreJavaCollectionsUnitTest.java
+++ b/core-java-modules/core-java-collections-array-list/src/test/java/org/baeldung/java/collections/CoreJavaCollectionsUnitTest.java
@@ -42,7 +42,7 @@ public class CoreJavaCollectionsUnitTest {
@Test(expected = UnsupportedOperationException.class)
public final void givenUsingGuavaBuilder_whenUnmodifiableListIsCreatedFromOriginal_thenNoLongerModifiable() {
final List list = new ArrayList(Arrays.asList("one", "two", "three"));
- final ImmutableList
+
+
+
+ org.codehaus.cargo
+ cargo-maven2-plugin
+ ${cargo-maven2-plugin.version}
+
+ true
+
+ jetty8x
+ embedded
+
+
+
+ 8082
+
+
+
+
+
+
+
4.3.22.RELEASE
+ 1.6.1
\ No newline at end of file
diff --git a/patterns/design-patterns/README.md b/patterns/design-patterns/README.md
index 605fdc0d6e..1c611f05d2 100644
--- a/patterns/design-patterns/README.md
+++ b/patterns/design-patterns/README.md
@@ -20,3 +20,4 @@
- [Java Constructors vs Static Factory Methods](https://www.baeldung.com/java-constructors-vs-static-factory-methods)
- [The Adapter Pattern in Java](https://www.baeldung.com/java-adapter-pattern)
- [Currying in Java](https://www.baeldung.com/java-currying)
+- [The Proxy Pattern in Java](https://www.baeldung.com/java-proxy-pattern)
diff --git a/patterns/design-patterns/src/main/java/com/baeldung/chainofresponsibility/AuthenticationProcessor.java b/patterns/design-patterns/src/main/java/com/baeldung/chainofresponsibility/AuthenticationProcessor.java
index 374de31ba9..986c1d9660 100644
--- a/patterns/design-patterns/src/main/java/com/baeldung/chainofresponsibility/AuthenticationProcessor.java
+++ b/patterns/design-patterns/src/main/java/com/baeldung/chainofresponsibility/AuthenticationProcessor.java
@@ -1,4 +1,4 @@
-package com.baeldung.pattern.chainofresponsibility;
+package com.baeldung.chainofresponsibility;
public abstract class AuthenticationProcessor {
diff --git a/patterns/design-patterns/src/main/java/com/baeldung/chainofresponsibility/AuthenticationProvider.java b/patterns/design-patterns/src/main/java/com/baeldung/chainofresponsibility/AuthenticationProvider.java
index 7b8771ca41..4d5e3bde24 100644
--- a/patterns/design-patterns/src/main/java/com/baeldung/chainofresponsibility/AuthenticationProvider.java
+++ b/patterns/design-patterns/src/main/java/com/baeldung/chainofresponsibility/AuthenticationProvider.java
@@ -1,4 +1,4 @@
-package com.baeldung.pattern.chainofresponsibility;
+package com.baeldung.chainofresponsibility;
public interface AuthenticationProvider {
diff --git a/patterns/design-patterns/src/main/java/com/baeldung/chainofresponsibility/OAuthAuthenticationProcessor.java b/patterns/design-patterns/src/main/java/com/baeldung/chainofresponsibility/OAuthAuthenticationProcessor.java
index 3bf20cfc85..5f994bad89 100644
--- a/patterns/design-patterns/src/main/java/com/baeldung/chainofresponsibility/OAuthAuthenticationProcessor.java
+++ b/patterns/design-patterns/src/main/java/com/baeldung/chainofresponsibility/OAuthAuthenticationProcessor.java
@@ -1,4 +1,4 @@
-package com.baeldung.pattern.chainofresponsibility;
+package com.baeldung.chainofresponsibility;
public class OAuthAuthenticationProcessor extends AuthenticationProcessor {
diff --git a/patterns/design-patterns/src/main/java/com/baeldung/chainofresponsibility/OAuthTokenProvider.java b/patterns/design-patterns/src/main/java/com/baeldung/chainofresponsibility/OAuthTokenProvider.java
index 92d5f94245..37f419b6e2 100644
--- a/patterns/design-patterns/src/main/java/com/baeldung/chainofresponsibility/OAuthTokenProvider.java
+++ b/patterns/design-patterns/src/main/java/com/baeldung/chainofresponsibility/OAuthTokenProvider.java
@@ -1,4 +1,4 @@
-package com.baeldung.pattern.chainofresponsibility;
+package com.baeldung.chainofresponsibility;
public class OAuthTokenProvider implements AuthenticationProvider {
diff --git a/patterns/design-patterns/src/main/java/com/baeldung/chainofresponsibility/SamlAuthenticationProvider.java b/patterns/design-patterns/src/main/java/com/baeldung/chainofresponsibility/SamlAuthenticationProvider.java
index cd927932ad..3a0c35a9b9 100644
--- a/patterns/design-patterns/src/main/java/com/baeldung/chainofresponsibility/SamlAuthenticationProvider.java
+++ b/patterns/design-patterns/src/main/java/com/baeldung/chainofresponsibility/SamlAuthenticationProvider.java
@@ -1,4 +1,4 @@
-package com.baeldung.pattern.chainofresponsibility;
+package com.baeldung.chainofresponsibility;
public class SamlAuthenticationProvider implements AuthenticationProvider {
diff --git a/patterns/design-patterns/src/main/java/com/baeldung/chainofresponsibility/UsernamePasswordAuthenticationProcessor.java b/patterns/design-patterns/src/main/java/com/baeldung/chainofresponsibility/UsernamePasswordAuthenticationProcessor.java
index 3885b2b79b..39038b1374 100644
--- a/patterns/design-patterns/src/main/java/com/baeldung/chainofresponsibility/UsernamePasswordAuthenticationProcessor.java
+++ b/patterns/design-patterns/src/main/java/com/baeldung/chainofresponsibility/UsernamePasswordAuthenticationProcessor.java
@@ -1,4 +1,4 @@
-package com.baeldung.pattern.chainofresponsibility;
+package com.baeldung.chainofresponsibility;
public class UsernamePasswordAuthenticationProcessor extends AuthenticationProcessor {
diff --git a/patterns/design-patterns/src/main/java/com/baeldung/chainofresponsibility/UsernamePasswordProvider.java b/patterns/design-patterns/src/main/java/com/baeldung/chainofresponsibility/UsernamePasswordProvider.java
index 9877039446..14dc93b8fc 100644
--- a/patterns/design-patterns/src/main/java/com/baeldung/chainofresponsibility/UsernamePasswordProvider.java
+++ b/patterns/design-patterns/src/main/java/com/baeldung/chainofresponsibility/UsernamePasswordProvider.java
@@ -1,4 +1,4 @@
-package com.baeldung.pattern.chainofresponsibility;
+package com.baeldung.chainofresponsibility;
public class UsernamePasswordProvider implements AuthenticationProvider {
diff --git a/patterns/design-patterns/src/main/java/com/baeldung/command/client/TextFileApplication.java b/patterns/design-patterns/src/main/java/com/baeldung/command/client/TextFileApplication.java
index 30dcf08e89..878b67e0cf 100644
--- a/patterns/design-patterns/src/main/java/com/baeldung/command/client/TextFileApplication.java
+++ b/patterns/design-patterns/src/main/java/com/baeldung/command/client/TextFileApplication.java
@@ -1,10 +1,10 @@
-package com.baeldung.pattern.command.client;
+package com.baeldung.command.client;
-import com.baeldung.pattern.command.command.OpenTextFileOperation;
-import com.baeldung.pattern.command.command.SaveTextFileOperation;
-import com.baeldung.pattern.command.command.TextFileOperation;
-import com.baeldung.pattern.command.invoker.TextFileOperationExecutor;
-import com.baeldung.pattern.command.receiver.TextFile;
+import com.baeldung.command.command.OpenTextFileOperation;
+import com.baeldung.command.command.SaveTextFileOperation;
+import com.baeldung.command.command.TextFileOperation;
+import com.baeldung.command.invoker.TextFileOperationExecutor;
+import com.baeldung.command.receiver.TextFile;
public class TextFileApplication {
diff --git a/patterns/design-patterns/src/main/java/com/baeldung/command/command/OpenTextFileOperation.java b/patterns/design-patterns/src/main/java/com/baeldung/command/command/OpenTextFileOperation.java
index c90a162b88..74adce0116 100644
--- a/patterns/design-patterns/src/main/java/com/baeldung/command/command/OpenTextFileOperation.java
+++ b/patterns/design-patterns/src/main/java/com/baeldung/command/command/OpenTextFileOperation.java
@@ -1,6 +1,6 @@
-package com.baeldung.pattern.command.command;
+package com.baeldung.command.command;
-import com.baeldung.pattern.command.receiver.TextFile;
+import com.baeldung.command.receiver.TextFile;
public class OpenTextFileOperation implements TextFileOperation {
diff --git a/patterns/design-patterns/src/main/java/com/baeldung/command/command/SaveTextFileOperation.java b/patterns/design-patterns/src/main/java/com/baeldung/command/command/SaveTextFileOperation.java
index b908e2c44c..f0462622e3 100644
--- a/patterns/design-patterns/src/main/java/com/baeldung/command/command/SaveTextFileOperation.java
+++ b/patterns/design-patterns/src/main/java/com/baeldung/command/command/SaveTextFileOperation.java
@@ -1,6 +1,6 @@
-package com.baeldung.pattern.command.command;
+package com.baeldung.command.command;
-import com.baeldung.pattern.command.receiver.TextFile;
+import com.baeldung.command.receiver.TextFile;
public class SaveTextFileOperation implements TextFileOperation {
diff --git a/patterns/design-patterns/src/main/java/com/baeldung/command/command/TextFileOperation.java b/patterns/design-patterns/src/main/java/com/baeldung/command/command/TextFileOperation.java
index 506bb23d99..2d0267d315 100644
--- a/patterns/design-patterns/src/main/java/com/baeldung/command/command/TextFileOperation.java
+++ b/patterns/design-patterns/src/main/java/com/baeldung/command/command/TextFileOperation.java
@@ -1,4 +1,4 @@
-package com.baeldung.pattern.command.command;
+package com.baeldung.command.command;
@FunctionalInterface
public interface TextFileOperation {
diff --git a/patterns/design-patterns/src/main/java/com/baeldung/command/invoker/TextFileOperationExecutor.java b/patterns/design-patterns/src/main/java/com/baeldung/command/invoker/TextFileOperationExecutor.java
index bd2213706e..67c6dedd89 100644
--- a/patterns/design-patterns/src/main/java/com/baeldung/command/invoker/TextFileOperationExecutor.java
+++ b/patterns/design-patterns/src/main/java/com/baeldung/command/invoker/TextFileOperationExecutor.java
@@ -1,6 +1,6 @@
-package com.baeldung.pattern.command.invoker;
+package com.baeldung.command.invoker;
-import com.baeldung.pattern.command.command.TextFileOperation;
+import com.baeldung.command.command.TextFileOperation;
import java.util.ArrayList;
import java.util.List;
diff --git a/patterns/design-patterns/src/main/java/com/baeldung/command/receiver/TextFile.java b/patterns/design-patterns/src/main/java/com/baeldung/command/receiver/TextFile.java
index c0b2d3c41e..0163102256 100644
--- a/patterns/design-patterns/src/main/java/com/baeldung/command/receiver/TextFile.java
+++ b/patterns/design-patterns/src/main/java/com/baeldung/command/receiver/TextFile.java
@@ -1,4 +1,4 @@
-package com.baeldung.pattern.command.receiver;
+package com.baeldung.command.receiver;
public class TextFile {
diff --git a/patterns/design-patterns/src/main/java/com/baeldung/templatemethod/application/Application.java b/patterns/design-patterns/src/main/java/com/baeldung/templatemethod/application/Application.java
index 9ab34c3cd8..353a369837 100644
--- a/patterns/design-patterns/src/main/java/com/baeldung/templatemethod/application/Application.java
+++ b/patterns/design-patterns/src/main/java/com/baeldung/templatemethod/application/Application.java
@@ -1,11 +1,9 @@
-package com.baeldung.pattern.templatemethod.application;
+package com.baeldung.templatemethod.application;
-import com.baeldung.pattern.templatemethod.model.Computer;
-import com.baeldung.pattern.templatemethod.model.StandardComputer;
-import com.baeldung.pattern.templatemethod.model.HighEndComputer;
-import com.baeldung.pattern.templatemethod.model.ComputerBuilder;
-import com.baeldung.pattern.templatemethod.model.HighEndComputerBuilder;
-import com.baeldung.pattern.templatemethod.model.StandardComputerBuilder;
+import com.baeldung.templatemethod.model.Computer;
+import com.baeldung.templatemethod.model.ComputerBuilder;
+import com.baeldung.templatemethod.model.HighEndComputerBuilder;
+import com.baeldung.templatemethod.model.StandardComputerBuilder;
public class Application {
diff --git a/patterns/design-patterns/src/main/java/com/baeldung/templatemethod/model/Computer.java b/patterns/design-patterns/src/main/java/com/baeldung/templatemethod/model/Computer.java
index 1419398f62..129a8d4c65 100644
--- a/patterns/design-patterns/src/main/java/com/baeldung/templatemethod/model/Computer.java
+++ b/patterns/design-patterns/src/main/java/com/baeldung/templatemethod/model/Computer.java
@@ -1,4 +1,4 @@
-package com.baeldung.pattern.templatemethod.model;
+package com.baeldung.templatemethod.model;
import java.util.HashMap;
import java.util.Map;
diff --git a/patterns/design-patterns/src/main/java/com/baeldung/templatemethod/model/ComputerBuilder.java b/patterns/design-patterns/src/main/java/com/baeldung/templatemethod/model/ComputerBuilder.java
index 515a6940f5..b5c7ee3987 100644
--- a/patterns/design-patterns/src/main/java/com/baeldung/templatemethod/model/ComputerBuilder.java
+++ b/patterns/design-patterns/src/main/java/com/baeldung/templatemethod/model/ComputerBuilder.java
@@ -1,6 +1,5 @@
-package com.baeldung.pattern.templatemethod.model;
+package com.baeldung.templatemethod.model;
-import com.baeldung.pattern.templatemethod.model.Computer;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
diff --git a/patterns/design-patterns/src/main/java/com/baeldung/templatemethod/model/HighEndComputer.java b/patterns/design-patterns/src/main/java/com/baeldung/templatemethod/model/HighEndComputer.java
index 0684b1b233..55394d1df6 100644
--- a/patterns/design-patterns/src/main/java/com/baeldung/templatemethod/model/HighEndComputer.java
+++ b/patterns/design-patterns/src/main/java/com/baeldung/templatemethod/model/HighEndComputer.java
@@ -1,6 +1,5 @@
-package com.baeldung.pattern.templatemethod.model;
+package com.baeldung.templatemethod.model;
-import com.baeldung.pattern.templatemethod.model.Computer;
import java.util.Map;
public class HighEndComputer extends Computer {
diff --git a/patterns/design-patterns/src/main/java/com/baeldung/templatemethod/model/HighEndComputerBuilder.java b/patterns/design-patterns/src/main/java/com/baeldung/templatemethod/model/HighEndComputerBuilder.java
index c992aa2bff..2ee6f93f9b 100644
--- a/patterns/design-patterns/src/main/java/com/baeldung/templatemethod/model/HighEndComputerBuilder.java
+++ b/patterns/design-patterns/src/main/java/com/baeldung/templatemethod/model/HighEndComputerBuilder.java
@@ -1,4 +1,4 @@
-package com.baeldung.pattern.templatemethod.model;
+package com.baeldung.templatemethod.model;
public class HighEndComputerBuilder extends ComputerBuilder {
diff --git a/patterns/design-patterns/src/main/java/com/baeldung/templatemethod/model/StandardComputer.java b/patterns/design-patterns/src/main/java/com/baeldung/templatemethod/model/StandardComputer.java
index 4e1d857016..3abe240316 100644
--- a/patterns/design-patterns/src/main/java/com/baeldung/templatemethod/model/StandardComputer.java
+++ b/patterns/design-patterns/src/main/java/com/baeldung/templatemethod/model/StandardComputer.java
@@ -1,6 +1,5 @@
-package com.baeldung.pattern.templatemethod.model;
+package com.baeldung.templatemethod.model;
-import com.baeldung.pattern.templatemethod.model.Computer;
import java.util.Map;
public class StandardComputer extends Computer {
diff --git a/patterns/design-patterns/src/main/java/com/baeldung/templatemethod/model/StandardComputerBuilder.java b/patterns/design-patterns/src/main/java/com/baeldung/templatemethod/model/StandardComputerBuilder.java
index cc81dddc1b..da2c2e9b2d 100644
--- a/patterns/design-patterns/src/main/java/com/baeldung/templatemethod/model/StandardComputerBuilder.java
+++ b/patterns/design-patterns/src/main/java/com/baeldung/templatemethod/model/StandardComputerBuilder.java
@@ -1,4 +1,4 @@
-package com.baeldung.pattern.templatemethod.model;
+package com.baeldung.templatemethod.model;
public class StandardComputerBuilder extends ComputerBuilder {
diff --git a/patterns/design-patterns/src/test/java/com/baeldung/chainofresponsibility/ChainOfResponsibilityIntegrationTest.java b/patterns/design-patterns/src/test/java/com/baeldung/chainofresponsibility/ChainOfResponsibilityIntegrationTest.java
index 824b104f81..4556232815 100644
--- a/patterns/design-patterns/src/test/java/com/baeldung/chainofresponsibility/ChainOfResponsibilityIntegrationTest.java
+++ b/patterns/design-patterns/src/test/java/com/baeldung/chainofresponsibility/ChainOfResponsibilityIntegrationTest.java
@@ -1,14 +1,9 @@
package com.baeldung.chainofresponsibility;
-import org.junit.Test;
-import com.baeldung.pattern.chainofresponsibility.AuthenticationProcessor;
-import com.baeldung.pattern.chainofresponsibility.OAuthAuthenticationProcessor;
-import com.baeldung.pattern.chainofresponsibility.OAuthTokenProvider;
-import com.baeldung.pattern.chainofresponsibility.UsernamePasswordProvider;
-import com.baeldung.pattern.chainofresponsibility.SamlAuthenticationProvider;
-import com.baeldung.pattern.chainofresponsibility.UsernamePasswordAuthenticationProcessor;
import static org.junit.Assert.assertTrue;
+import org.junit.Test;
+
public class ChainOfResponsibilityIntegrationTest {
private static AuthenticationProcessor getChainOfAuthProcessor() {
diff --git a/patterns/design-patterns/src/test/java/com/baeldung/command/test/OpenTextFileOperationUnitTest.java b/patterns/design-patterns/src/test/java/com/baeldung/command/test/OpenTextFileOperationUnitTest.java
index 1c72bfdd2f..eac62313f7 100644
--- a/patterns/design-patterns/src/test/java/com/baeldung/command/test/OpenTextFileOperationUnitTest.java
+++ b/patterns/design-patterns/src/test/java/com/baeldung/command/test/OpenTextFileOperationUnitTest.java
@@ -1,10 +1,12 @@
-package com.baeldung.pattern.command.test;
+package com.baeldung.command.test;
+
+import static org.assertj.core.api.Assertions.assertThat;
-import com.baeldung.pattern.command.command.OpenTextFileOperation;
-import com.baeldung.pattern.command.command.TextFileOperation;
-import com.baeldung.pattern.command.receiver.TextFile;
import org.junit.Test;
-import static org.assertj.core.api.Assertions.*;
+
+import com.baeldung.command.command.OpenTextFileOperation;
+import com.baeldung.command.command.TextFileOperation;
+import com.baeldung.command.receiver.TextFile;
public class OpenTextFileOperationUnitTest {
diff --git a/patterns/design-patterns/src/test/java/com/baeldung/command/test/SaveTextFileOperationUnitTest.java b/patterns/design-patterns/src/test/java/com/baeldung/command/test/SaveTextFileOperationUnitTest.java
index a7bc1f3025..3e47f10366 100644
--- a/patterns/design-patterns/src/test/java/com/baeldung/command/test/SaveTextFileOperationUnitTest.java
+++ b/patterns/design-patterns/src/test/java/com/baeldung/command/test/SaveTextFileOperationUnitTest.java
@@ -1,10 +1,12 @@
-package com.baeldung.pattern.command.test;
+package com.baeldung.command.test;
+
+import static org.assertj.core.api.Assertions.assertThat;
-import com.baeldung.pattern.command.command.SaveTextFileOperation;
-import com.baeldung.pattern.command.command.TextFileOperation;
-import com.baeldung.pattern.command.receiver.TextFile;
import org.junit.Test;
-import static org.assertj.core.api.Assertions.*;
+
+import com.baeldung.command.command.SaveTextFileOperation;
+import com.baeldung.command.command.TextFileOperation;
+import com.baeldung.command.receiver.TextFile;
public class SaveTextFileOperationUnitTest {
diff --git a/patterns/design-patterns/src/test/java/com/baeldung/command/test/TextFileOperationExecutorUnitTest.java b/patterns/design-patterns/src/test/java/com/baeldung/command/test/TextFileOperationExecutorUnitTest.java
index efafa0d8a2..3861b1109e 100644
--- a/patterns/design-patterns/src/test/java/com/baeldung/command/test/TextFileOperationExecutorUnitTest.java
+++ b/patterns/design-patterns/src/test/java/com/baeldung/command/test/TextFileOperationExecutorUnitTest.java
@@ -1,14 +1,17 @@
-package com.baeldung.pattern.command.test;
+package com.baeldung.command.test;
+
+import static org.assertj.core.api.Assertions.assertThat;
-import com.baeldung.pattern.command.command.OpenTextFileOperation;
-import com.baeldung.pattern.command.command.SaveTextFileOperation;
-import com.baeldung.pattern.command.command.TextFileOperation;
-import com.baeldung.pattern.command.invoker.TextFileOperationExecutor;
-import com.baeldung.pattern.command.receiver.TextFile;
import java.util.function.Function;
-import org.junit.Test;
-import static org.assertj.core.api.Assertions.*;
+
import org.junit.BeforeClass;
+import org.junit.Test;
+
+import com.baeldung.command.command.OpenTextFileOperation;
+import com.baeldung.command.command.SaveTextFileOperation;
+import com.baeldung.command.command.TextFileOperation;
+import com.baeldung.command.invoker.TextFileOperationExecutor;
+import com.baeldung.command.receiver.TextFile;
public class TextFileOperationExecutorUnitTest {
@@ -65,4 +68,11 @@ public class TextFileOperationExecutorUnitTest {
Function executeMethodReference = SaveTextFileOperation::execute;
assertThat(executeMethodReference.apply(new SaveTextFileOperation(new TextFile("file1.txt")))).isEqualTo("Saving file file1.txt");
}
+
+ @Test
+ public void givenOpenAndSaveTextFileOperationExecutorInstance_whenCalledExecuteOperationWithLambdaExpression_thenBothAssertion() {
+ TextFileOperationExecutor textFileOperationExecutor = new TextFileOperationExecutor();
+ assertThat(textFileOperationExecutor.executeOperation(() -> "Opening file file1.txt")).isEqualTo("Opening file file1.txt");
+ assertThat(textFileOperationExecutor.executeOperation(() -> "Saving file file1.txt")).isEqualTo("Saving file file1.txt");
+ }
}
diff --git a/patterns/design-patterns/src/test/java/com/baeldung/command/test/TextFileUnitTest.java b/patterns/design-patterns/src/test/java/com/baeldung/command/test/TextFileUnitTest.java
index 32b83897c9..e35c785f3e 100644
--- a/patterns/design-patterns/src/test/java/com/baeldung/command/test/TextFileUnitTest.java
+++ b/patterns/design-patterns/src/test/java/com/baeldung/command/test/TextFileUnitTest.java
@@ -1,9 +1,11 @@
-package com.baeldung.pattern.command.test;
+package com.baeldung.command.test;
+
+import static org.assertj.core.api.Assertions.assertThat;
-import com.baeldung.pattern.command.receiver.TextFile;
-import org.junit.Test;
-import static org.assertj.core.api.Assertions.*;
import org.junit.BeforeClass;
+import org.junit.Test;
+
+import com.baeldung.command.receiver.TextFile;
public class TextFileUnitTest {
diff --git a/patterns/design-patterns/src/test/java/com/baeldung/templatemethod/test/TemplateMethodPatternIntegrationTest.java b/patterns/design-patterns/src/test/java/com/baeldung/templatemethod/test/TemplateMethodPatternIntegrationTest.java
index 4ad4debb27..2c721be5da 100644
--- a/patterns/design-patterns/src/test/java/com/baeldung/templatemethod/test/TemplateMethodPatternIntegrationTest.java
+++ b/patterns/design-patterns/src/test/java/com/baeldung/templatemethod/test/TemplateMethodPatternIntegrationTest.java
@@ -1,14 +1,16 @@
package com.baeldung.templatemethod.test;
-import com.baeldung.pattern.templatemethod.model.Computer;
-import com.baeldung.pattern.templatemethod.model.HighEndComputerBuilder;
-import com.baeldung.pattern.templatemethod.model.StandardComputerBuilder;
-import org.junit.Assert;
+import static org.hamcrest.CoreMatchers.instanceOf;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertThat;
+
+import org.junit.Assert;
import org.junit.BeforeClass;
import org.junit.Test;
-import static org.hamcrest.CoreMatchers.instanceOf;
-import static org.junit.Assert.assertThat;
+
+import com.baeldung.templatemethod.model.Computer;
+import com.baeldung.templatemethod.model.HighEndComputerBuilder;
+import com.baeldung.templatemethod.model.StandardComputerBuilder;
public class TemplateMethodPatternIntegrationTest {
diff --git a/persistence-modules/java-jpa/README.md b/persistence-modules/java-jpa/README.md
index 7edcd168e9..5a99217f45 100644
--- a/persistence-modules/java-jpa/README.md
+++ b/persistence-modules/java-jpa/README.md
@@ -13,3 +13,4 @@
- [Defining JPA Entities](https://www.baeldung.com/jpa-entities)
- [JPA @Basic Annotation](https://www.baeldung.com/jpa-basic-annotation)
- [Default Column Values in JPA](https://www.baeldung.com/jpa-default-column-values)
+- [Persisting Enums in JPA](https://www.baeldung.com/jpa-persisting-enums-in-jpa)
diff --git a/persistence-modules/jpa-hibernate-cascade-type/README.md b/persistence-modules/jpa-hibernate-cascade-type/README.md
new file mode 100644
index 0000000000..d7f3d7dd7c
--- /dev/null
+++ b/persistence-modules/jpa-hibernate-cascade-type/README.md
@@ -0,0 +1,3 @@
+## Relevant articles:
+
+- [Overview of JPA/Hibernate Cascade Types](https://www.baeldung.com/jpa-cascade-types)
diff --git a/persistence-modules/spring-boot-mysql/.gitignore b/persistence-modules/spring-boot-mysql/.gitignore
new file mode 100644
index 0000000000..96136ab255
--- /dev/null
+++ b/persistence-modules/spring-boot-mysql/.gitignore
@@ -0,0 +1,5 @@
+/target/
+.settings/
+.classpath
+.project
+.mvn/
\ No newline at end of file
diff --git a/persistence-modules/spring-boot-mysql/pom.xml b/persistence-modules/spring-boot-mysql/pom.xml
new file mode 100644
index 0000000000..6be58332aa
--- /dev/null
+++ b/persistence-modules/spring-boot-mysql/pom.xml
@@ -0,0 +1,59 @@
+
+
+ 4.0.0
+ spring-boot-mysql
+ 0.1.0
+ spring-boot-mysql
+
+
+ parent-boot-2
+ com.baeldung
+ 0.0.1-SNAPSHOT
+ ../../parent-boot-2
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+ 2.1.5.RELEASE
+
+
+ org.springframework.boot
+ spring-boot-starter-data-jpa
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+
+
+ org.springframework.boot
+ spring-boot-devtools
+ true
+
+
+ mysql
+ mysql-connector-java
+
+
+
+
+ spring-boot-mysql-timezone
+
+
+ src/main/resources
+ true
+
+
+
+
+
+
+
+
+ UTF-8
+ 8.0.12
+
+
+
diff --git a/persistence-modules/spring-boot-mysql/src/main/java/com/baeldung/boot/Application.java b/persistence-modules/spring-boot-mysql/src/main/java/com/baeldung/boot/Application.java
new file mode 100644
index 0000000000..d69f66fc7a
--- /dev/null
+++ b/persistence-modules/spring-boot-mysql/src/main/java/com/baeldung/boot/Application.java
@@ -0,0 +1,20 @@
+package com.baeldung.boot;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+import javax.annotation.PostConstruct;
+import java.util.TimeZone;
+
+@SpringBootApplication
+public class Application {
+
+ @PostConstruct
+ void started() {
+ TimeZone.setDefault(TimeZone.getTimeZone("UTC"));
+ }
+
+ public static void main(String[] args) {
+ SpringApplication.run(Application.class, args);
+ }
+}
diff --git a/persistence-modules/spring-boot-mysql/src/main/java/com/baeldung/boot/Controller.java b/persistence-modules/spring-boot-mysql/src/main/java/com/baeldung/boot/Controller.java
new file mode 100644
index 0000000000..48864269fe
--- /dev/null
+++ b/persistence-modules/spring-boot-mysql/src/main/java/com/baeldung/boot/Controller.java
@@ -0,0 +1,27 @@
+package com.baeldung.boot;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+@RestController
+public class Controller {
+
+ @Autowired
+ UserRepository userRepository;
+
+ @GetMapping
+ public User get() {
+ User user = new User();
+ userRepository.save(user);
+ return user;
+ }
+
+ @GetMapping("/find")
+ public List find() {
+ List users = userRepository.findAll();
+ return users;
+ }
+}
diff --git a/persistence-modules/spring-boot-mysql/src/main/java/com/baeldung/boot/User.java b/persistence-modules/spring-boot-mysql/src/main/java/com/baeldung/boot/User.java
new file mode 100644
index 0000000000..55cb97dec2
--- /dev/null
+++ b/persistence-modules/spring-boot-mysql/src/main/java/com/baeldung/boot/User.java
@@ -0,0 +1,40 @@
+package com.baeldung.boot;
+
+
+import org.springframework.data.annotation.CreatedDate;
+
+import javax.persistence.*;
+import java.util.Date;
+
+@Entity
+public class User {
+ @Id
+ @GeneratedValue(strategy = GenerationType.AUTO)
+ private Integer id;
+
+ @Column
+ private String name;
+
+ @CreatedDate
+ private Date createdDate = new Date();
+
+ public Date getCreatedDate() {
+ return createdDate;
+ }
+
+ public Integer getId() {
+ return id;
+ }
+
+ public void setId(Integer id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+}
diff --git a/persistence-modules/spring-boot-mysql/src/main/java/com/baeldung/boot/UserRepository.java b/persistence-modules/spring-boot-mysql/src/main/java/com/baeldung/boot/UserRepository.java
new file mode 100644
index 0000000000..3c50c30cce
--- /dev/null
+++ b/persistence-modules/spring-boot-mysql/src/main/java/com/baeldung/boot/UserRepository.java
@@ -0,0 +1,10 @@
+package com.baeldung.boot;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.stereotype.Repository;
+
+import java.io.Serializable;
+
+@Repository
+public interface UserRepository extends JpaRepository {
+}
diff --git a/persistence-modules/spring-boot-mysql/src/main/resources/application.yml b/persistence-modules/spring-boot-mysql/src/main/resources/application.yml
new file mode 100644
index 0000000000..5404555d49
--- /dev/null
+++ b/persistence-modules/spring-boot-mysql/src/main/resources/application.yml
@@ -0,0 +1,14 @@
+spring:
+ datasource:
+ url: jdbc:mysql://localhost:3306/test?useLegacyDatetimeCode=false
+ username: root
+ password:
+
+ jpa:
+ hibernate:
+ ddl-auto: update
+ properties:
+ hibernate:
+ dialect: org.hibernate.dialect.MySQL5Dialect
+ jdbc:
+ time_zone: UTC
\ No newline at end of file
diff --git a/persistence-modules/spring-boot-persistence-h2/src/test/java/com/baeldung/SpringContextTest.java b/persistence-modules/spring-boot-persistence-h2/src/test/java/com/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..90787681cf
--- /dev/null
+++ b/persistence-modules/spring-boot-persistence-h2/src/test/java/com/baeldung/SpringContextTest.java
@@ -0,0 +1,19 @@
+package com.baeldung;
+
+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;
+import org.springframework.test.context.web.WebAppConfiguration;
+
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(loader = AnnotationConfigContextLoader.class)
+@WebAppConfiguration
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/persistence-modules/spring-data-cassandra/src/test/java/org/baeldung/SpringContextTest.java b/persistence-modules/spring-data-cassandra/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..89e729da86
--- /dev/null
+++ b/persistence-modules/spring-data-cassandra/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,67 @@
+package org.baeldung;
+
+import java.io.IOException;
+import java.util.HashMap;
+
+import org.apache.cassandra.exceptions.ConfigurationException;
+import org.apache.thrift.transport.TTransportException;
+import org.baeldung.spring.data.cassandra.config.CassandraConfig;
+import org.baeldung.spring.data.cassandra.model.Book;
+import org.cassandraunit.utils.EmbeddedCassandraServerHelper;
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.cassandra.core.cql.CqlIdentifier;
+import org.springframework.data.cassandra.core.CassandraAdminOperations;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+
+import com.datastax.driver.core.Cluster;
+import com.datastax.driver.core.Session;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(classes = CassandraConfig.class)
+public class SpringContextTest {
+
+ public static final String KEYSPACE_CREATION_QUERY = "CREATE KEYSPACE IF NOT EXISTS testKeySpace " + "WITH replication = { 'class': 'SimpleStrategy', 'replication_factor': '3' };";
+
+ public static final String KEYSPACE_ACTIVATE_QUERY = "USE testKeySpace;";
+
+ public static final String DATA_TABLE_NAME = "book";
+
+ @Autowired
+ private CassandraAdminOperations adminTemplate;
+
+ @BeforeClass
+ public static void startCassandraEmbedded() throws InterruptedException, TTransportException, ConfigurationException, IOException {
+ EmbeddedCassandraServerHelper.startEmbeddedCassandra();
+ final Cluster cluster = Cluster.builder().addContactPoints("127.0.0.1").withPort(9142).build();
+ final Session session = cluster.connect();
+ session.execute(KEYSPACE_CREATION_QUERY);
+ session.execute(KEYSPACE_ACTIVATE_QUERY);
+ Thread.sleep(5000);
+ }
+
+ @Before
+ public void createTable() throws InterruptedException, TTransportException, ConfigurationException, IOException {
+ adminTemplate.createTable(true, CqlIdentifier.cqlId(DATA_TABLE_NAME), Book.class, new HashMap());
+ }
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+
+ @After
+ public void dropTable() {
+ adminTemplate.dropTable(CqlIdentifier.cqlId(DATA_TABLE_NAME));
+ }
+
+ @AfterClass
+ public static void stopCassandraEmbedded() {
+ EmbeddedCassandraServerHelper.cleanEmbeddedCassandra();
+ }
+}
diff --git a/persistence-modules/spring-data-dynamodb/src/test/java/org/baeldung/SpringContextTest.java b/persistence-modules/spring-data-dynamodb/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..5e68a8e64f
--- /dev/null
+++ b/persistence-modules/spring-data-dynamodb/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.Application;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = Application.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/persistence-modules/spring-data-eclipselink/src/test/java/org/baeldung/SpringContextTest.java b/persistence-modules/spring-data-eclipselink/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..4c69245f65
--- /dev/null
+++ b/persistence-modules/spring-data-eclipselink/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.eclipselink.springdata.EclipselinkSpringDataApplication;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = EclipselinkSpringDataApplication.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/persistence-modules/spring-data-gemfire/src/test/java/org/baeldung/SpringContextTest.java b/persistence-modules/spring-data-gemfire/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..3772e22137
--- /dev/null
+++ b/persistence-modules/spring-data-gemfire/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,18 @@
+package org.baeldung;
+
+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;
+
+import com.baeldung.spring.data.gemfire.function.GemfireConfiguration;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(classes=GemfireConfiguration.class, loader=AnnotationConfigContextLoader.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/persistence-modules/spring-data-jpa-2/README.md b/persistence-modules/spring-data-jpa-2/README.md
index 3bd62cbd45..1f7de81c02 100644
--- a/persistence-modules/spring-data-jpa-2/README.md
+++ b/persistence-modules/spring-data-jpa-2/README.md
@@ -12,3 +12,4 @@
- [Batch Insert/Update with Hibernate/JPA](https://www.baeldung.com/jpa-hibernate-batch-insert-update)
- [Difference Between save() and saveAndFlush() in Spring Data JPA](https://www.baeldung.com/spring-data-jpa-save-saveandflush)
- [Derived Query Methods in Spring Data JPA Repositories](https://www.baeldung.com/spring-data-derived-queries)
+- [LIKE Queries in Spring JPA Repositories](https://www.baeldung.com/spring-jpa-like-queries)
diff --git a/persistence-modules/spring-data-jpa/src/test/java/org/baeldung/SpringContextTest.java b/persistence-modules/spring-data-jpa/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..db7b156415
--- /dev/null
+++ b/persistence-modules/spring-data-jpa/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.boot.Application;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = Application.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/persistence-modules/spring-data-keyvalue/src/test/java/org/baeldung/SpringContextTest.java b/persistence-modules/spring-data-keyvalue/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..e6cc5c15af
--- /dev/null
+++ b/persistence-modules/spring-data-keyvalue/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.spring.data.keyvalue.SpringDataKeyValueApplication;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = SpringDataKeyValueApplication.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/persistence-modules/spring-data-neo4j/src/test/java/org/baeldung/SpringContextTest.java b/persistence-modules/spring-data-neo4j/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..5bf54fc0bd
--- /dev/null
+++ b/persistence-modules/spring-data-neo4j/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,19 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.test.context.ActiveProfiles;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+
+import com.baeldung.spring.data.neo4j.config.MovieDatabaseNeo4jTestConfiguration;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(classes = MovieDatabaseNeo4jTestConfiguration.class)
+@ActiveProfiles(profiles = "test")
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/persistence-modules/spring-data-redis/src/test/java/org/baeldung/SpringContextTest.java b/persistence-modules/spring-data-redis/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..6652345595
--- /dev/null
+++ b/persistence-modules/spring-data-redis/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+
+import com.baeldung.spring.data.redis.config.RedisConfig;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(classes = RedisConfig.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/persistence-modules/spring-data-solr/src/test/java/org/baeldung/SpringContextTest.java b/persistence-modules/spring-data-solr/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..09bf0255a0
--- /dev/null
+++ b/persistence-modules/spring-data-solr/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+
+import com.baeldung.spring.data.solr.config.SolrConfig;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(classes = SolrConfig.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/persistence-modules/spring-hibernate-3/src/test/java/org/baeldung/SpringContextTest.java b/persistence-modules/spring-hibernate-3/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..956d5279a3
--- /dev/null
+++ b/persistence-modules/spring-hibernate-3/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.baeldung.spring.PersistenceConfig;
+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 = { PersistenceConfig.class }, loader = AnnotationConfigContextLoader.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/persistence-modules/spring-hibernate-5/src/test/java/org/baeldung/SpringContextTest.java b/persistence-modules/spring-hibernate-5/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..6815ebf304
--- /dev/null
+++ b/persistence-modules/spring-hibernate-5/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,18 @@
+package org.baeldung;
+
+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;
+
+import com.baeldung.spring.PersistenceConfig;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(classes = { PersistenceConfig.class }, loader = AnnotationConfigContextLoader.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/persistence-modules/spring-hibernate4/pom.xml b/persistence-modules/spring-hibernate4/pom.xml
index 388e2ab27b..c22342a34a 100644
--- a/persistence-modules/spring-hibernate4/pom.xml
+++ b/persistence-modules/spring-hibernate4/pom.xml
@@ -7,10 +7,10 @@
spring-hibernate4
+ parent-spring-4
com.baeldung
- parent-modules
- 1.0.0-SNAPSHOT
- ../../
+ 0.0.1-SNAPSHOT
+ ../../parent-spring-4
@@ -175,7 +175,6 @@
2.7
- 1.6.1
diff --git a/persistence-modules/spring-hibernate4/src/test/java/org/baeldung/SpringContextTest.java b/persistence-modules/spring-hibernate4/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..6815ebf304
--- /dev/null
+++ b/persistence-modules/spring-hibernate4/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,18 @@
+package org.baeldung;
+
+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;
+
+import com.baeldung.spring.PersistenceConfig;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(classes = { PersistenceConfig.class }, loader = AnnotationConfigContextLoader.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/persistence-modules/spring-jpa/src/test/java/com/baeldung/SpringContextTest.java b/persistence-modules/spring-jpa/src/test/java/com/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..291e49d0c4
--- /dev/null
+++ b/persistence-modules/spring-jpa/src/test/java/com/baeldung/SpringContextTest.java
@@ -0,0 +1,21 @@
+package com.baeldung;
+
+import org.baeldung.config.PersistenceJPAConfigL2Cache;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.test.annotation.DirtiesContext;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+import org.springframework.test.context.support.AnnotationConfigContextLoader;
+import org.springframework.test.context.web.WebAppConfiguration;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(classes = { PersistenceJPAConfigL2Cache.class }, loader = AnnotationConfigContextLoader.class)
+@WebAppConfiguration
+@DirtiesContext
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/config/PersistenceJPAConfig.java b/persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/config/PersistenceJPAConfig.java
index 9fae34d99e..e202e45b32 100644
--- a/persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/config/PersistenceJPAConfig.java
+++ b/persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/config/PersistenceJPAConfig.java
@@ -39,7 +39,7 @@ public class PersistenceJPAConfig {
// beans
@Bean
- public LocalContainerEntityManagerFactoryBean entityManagerFactory() {
+ public LocalContainerEntityManagerFactoryBean entityManagerFactoryBean() {
final LocalContainerEntityManagerFactoryBean em = new LocalContainerEntityManagerFactoryBean();
em.setDataSource(dataSource());
em.setPackagesToScan(new String[] { "com.baeldung.persistence.model" });
diff --git a/persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/jdbc/EmployeeDAO.java b/persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/jdbc/EmployeeDAO.java
index 9ba4ebdb6d..eef085f386 100644
--- a/persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/jdbc/EmployeeDAO.java
+++ b/persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/jdbc/EmployeeDAO.java
@@ -16,6 +16,7 @@ import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
import org.springframework.jdbc.core.namedparam.SqlParameterSource;
import org.springframework.jdbc.core.namedparam.SqlParameterSourceUtils;
+import org.springframework.jdbc.core.simple.SimpleJdbcCall;
import org.springframework.jdbc.core.simple.SimpleJdbcInsert;
import org.springframework.stereotype.Repository;
@@ -27,6 +28,8 @@ public class EmployeeDAO {
private NamedParameterJdbcTemplate namedParameterJdbcTemplate;
private SimpleJdbcInsert simpleJdbcInsert;
+
+ private SimpleJdbcCall simpleJdbcCall;
@Autowired
public void setDataSource(final DataSource dataSource) {
@@ -36,7 +39,9 @@ public class EmployeeDAO {
namedParameterJdbcTemplate = new NamedParameterJdbcTemplate(dataSource);
simpleJdbcInsert = new SimpleJdbcInsert(dataSource).withTableName("EMPLOYEE");
-
+
+ // Commented as the database is H2, change the database and create procedure READ_EMPLOYEE before calling getEmployeeUsingSimpleJdbcCall
+ //simpleJdbcCall = new SimpleJdbcCall(dataSource).withProcedureName("READ_EMPLOYEE");
}
public int getCountOfEmployees() {
@@ -110,4 +115,15 @@ public class EmployeeDAO {
final int[] updateCounts = namedParameterJdbcTemplate.batchUpdate("INSERT INTO EMPLOYEE VALUES (:id, :firstName, :lastName, :address)", batch);
return updateCounts;
}
+
+ public Employee getEmployeeUsingSimpleJdbcCall(int id) {
+ SqlParameterSource in = new MapSqlParameterSource().addValue("in_id", id);
+ Map out = simpleJdbcCall.execute(in);
+
+ Employee emp = new Employee();
+ emp.setFirstName((String) out.get("FIRST_NAME"));
+ emp.setLastName((String) out.get("LAST_NAME"));
+
+ return emp;
+ }
}
diff --git a/pom.xml b/pom.xml
index 90cea73a9d..e807cab0a6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -312,6 +312,10 @@
3
true
+
+ SpringContextTest
+ **/*UnitTest
+
**/*IntegrationTest.java
**/*IntTest.java
@@ -480,7 +484,6 @@
jersey
JGit
jgroups
- jhipster
jhipster-5
jib
jjwt
@@ -507,6 +510,7 @@
libraries-security
libraries-server
libraries-http
+ libraries-io
linkrest
logging-modules
lombok
@@ -545,7 +549,6 @@
ratpack
reactor-core
- rest-with-spark-java
resteasy
restx
@@ -575,6 +578,10 @@
3
true
+
+ SpringContextTest
+ **/*UnitTest
+
**/*IntegrationTest.java
**/*IntTest.java
@@ -656,22 +663,23 @@
spring-boot-vue
spring-boot-libraries
- spring-cloud
- spring-cloud-bus
+
+
+
- spring-cloud-data-flow
+
spring-core
spring-core-2
spring-cucumber
spring-data-rest
- spring-data-rest-querydsl
+
spring-dispatcher-servlet
spring-drools
spring-ehcache
- spring-ejb
+
spring-exceptions
spring-freemarker
@@ -745,7 +753,7 @@
spring-security-stormpath
spring-security-thymeleaf
spring-security-x509
- spring-session
+
spring-sleuth
spring-soap
spring-social-login
@@ -756,12 +764,10 @@
spring-thymeleaf
- spring-userservice
-
- spring-vault
+
spring-vertx
- spring-webflux-amqp
+
spring-zuul
@@ -777,7 +783,6 @@
undertow
- vavr
vertx
vertx-and-rxjava
video-tutorials
@@ -786,7 +791,6 @@
wicket
xml
- xmlunit-2
xstream
tensorflow-java
@@ -840,7 +844,8 @@
spring-boot-camel
spring-boot-client
spring-boot-custom-starter
- greeter-spring-boot-autoconfigure
+ spring-boot-di
+ greeter-spring-boot-autoconfigure
greeter-spring-boot-sample-app
persistence-modules/spring-boot-h2/spring-boot-h2-database
spring-boot-jasypt
@@ -927,7 +932,6 @@
spring-state-machine
spring-swagger-codegen/spring-swagger-codegen-app
spring-thymeleaf
- spring-userservice
spring-vault
spring-vertx
spring-zuul/spring-zuul-foos-resource
@@ -955,6 +959,10 @@
3
true
+
+ SpringContextTest
+ **/*UnitTest
+
**/*IntegrationTest.java
**/*IntTest.java
@@ -983,6 +991,7 @@
core-kotlin-io
jenkins/hello-world
+ jhipster
jws
libraries
@@ -993,6 +1002,7 @@
persistence-modules/jnosql
vaadin
+ vavr
@@ -1164,7 +1174,6 @@
jersey
JGit
jgroups
- jhipster
jhipster-5
jib
jjwt
@@ -1226,7 +1235,6 @@
ratpack
reactor-core
- rest-with-spark-java
resteasy
restx
@@ -1422,8 +1430,6 @@
spring-thymeleaf
- spring-userservice
-
spring-vault
spring-vertx
@@ -1443,7 +1449,6 @@
undertow
- vavr
vertx
vertx-and-rxjava
video-tutorials
@@ -1452,9 +1457,7 @@
wicket
xml
- xmlunit-2
xstream
-
@@ -1495,6 +1498,7 @@
core-kotlin-2
jenkins/hello-world
+ jhipster
jws
libraries
@@ -1505,6 +1509,7 @@
persistence-modules/jnosql
vaadin
+ vavr
diff --git a/quarkus/README.md b/quarkus/README.md
index 01009eab3e..8116d16cb7 100644
--- a/quarkus/README.md
+++ b/quarkus/README.md
@@ -1,3 +1,3 @@
## Relevant articles:
-- [Guide to QuarkusIO](hhttps://www.baeldung.com/quarkus-io)
+- [Guide to QuarkusIO](https://www.baeldung.com/quarkus-io)
diff --git a/rest-with-spark-java/README.md b/rest-with-spark-java/README.md
deleted file mode 100644
index ff12555376..0000000000
--- a/rest-with-spark-java/README.md
+++ /dev/null
@@ -1 +0,0 @@
-## Relevant articles:
diff --git a/rest-with-spark-java/pom.xml b/rest-with-spark-java/pom.xml
deleted file mode 100644
index fc78ac6b86..0000000000
--- a/rest-with-spark-java/pom.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-
-
- 4.0.0
- com.baeldung
- rest-with-spark-java
- 1.0-SNAPSHOT
- rest-with-spark-java
- http://maven.apache.org
-
-
- com.baeldung
- parent-modules
- 1.0.0-SNAPSHOT
-
-
-
-
- com.sparkjava
- spark-core
- ${spark-core.version}
-
-
- com.fasterxml.jackson.core
- jackson-core
- ${jackson.version}
-
-
- com.fasterxml.jackson.core
- jackson-databind
- ${jackson.version}
-
-
-
-
- 2.5.4
-
-
-
diff --git a/rest-with-spark-java/src/main/java/com/baeldung/Router.java b/rest-with-spark-java/src/main/java/com/baeldung/Router.java
deleted file mode 100644
index 3482184e1e..0000000000
--- a/rest-with-spark-java/src/main/java/com/baeldung/Router.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package com.baeldung;
-
-import static spark.Spark.after;
-import static spark.Spark.before;
-import static spark.Spark.delete;
-import static spark.Spark.get;
-import static spark.Spark.post;
-import static spark.Spark.port;
-
-import com.baeldung.domain.Book;
-import com.baeldung.service.LibraryService;
-
-public class Router {
-
- public static void main( String[] args ){
-
- port(8080);
-
- before((request, response) -> {
-
- //do some filtering stuff
-
- });
-
- after((request, response) -> {
- response.type("application/json");
- });
-
- get("ListOfBooks", (request, response) -> {
- return LibraryService.view();
- });
-
- get("SearchBook/:title", (request, response) -> {
- return LibraryService.view(request.params("title"));
- });
-
- post("AddBook/:title/:author/:publisher", (request, response) -> {
- Book book = new Book();
- book.setTitle(request.params("title"));
- book.setAuthor(request.params("author"));
- book.setPublisher(request.params("publisher"));
- return LibraryService.add(book);
- });
-
- delete("DeleteBook/:title", (request, response) -> {
- return LibraryService.delete(request.params("title"));
- });
-
- }
-}
diff --git a/rest-with-spark-java/src/main/java/com/baeldung/domain/Book.java b/rest-with-spark-java/src/main/java/com/baeldung/domain/Book.java
deleted file mode 100644
index 977d5d9f89..0000000000
--- a/rest-with-spark-java/src/main/java/com/baeldung/domain/Book.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package com.baeldung.domain;
-
-public class Book {
-
- private String title;
- private String author;
- private String publisher;
-
- public Book() {}
-
- public Book(String title, String author, String publisher) {
- super();
- this.title = title;
- this.author = author;
- this.publisher = publisher;
- }
-
- public String getTitle() {
- return title;
- }
- public void setTitle(String title) {
- this.title = title;
- }
- public String getAuthor() {
- return author;
- }
-
- public void setAuthor(String author) {
- this.author = author;
- }
- public String getPublisher() {
- return publisher;
- }
- public void setPublisher(String publisher) {
- this.publisher = publisher;
- }
-
- protected boolean canEqual(Object other) {
- return other instanceof Book;
- }
-
- @Override
- public boolean equals(Object o) {
- if (o == this) return true;
- if (!(o instanceof Book)) return false;
- Book other = (Book) o;
- if (!other.canEqual((Object)this)) return false;
- if (this.getTitle() == null ? other.getTitle() != null : !this.getTitle().equals(other.getTitle())) return false;
- return true;
- }
-
-}
diff --git a/rest-with-spark-java/src/main/java/com/baeldung/service/LibraryService.java b/rest-with-spark-java/src/main/java/com/baeldung/service/LibraryService.java
deleted file mode 100644
index e4ca4c270c..0000000000
--- a/rest-with-spark-java/src/main/java/com/baeldung/service/LibraryService.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package com.baeldung.service;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import com.baeldung.domain.Book;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.ObjectWriter;
-
-public class LibraryService {
-
- private static ObjectWriter mapper = new ObjectMapper().writer().withDefaultPrettyPrinter();
- private static Map library = new HashMap();
-
- public static String view() throws JsonProcessingException {
- List books = new ArrayList();
- library.forEach((key, value) -> {
- books.add(value);
- });
- return mapper.writeValueAsString(books);
- }
-
- public static String view(String title) throws JsonProcessingException {
- return mapper.writeValueAsString(library.get(title));
- }
-
- public static String add(Book book) throws JsonProcessingException {
- library.put(book.getTitle(), book);
- return mapper.writeValueAsString(book);
- }
-
- public static String delete(String title) throws JsonProcessingException {
- Book deletedBook = library.remove(title);
- return mapper.writeValueAsString(deletedBook);
- }
-
-}
diff --git a/rest-with-spark-java/src/test/java/com/baeldung/AppLiveTest.java b/rest-with-spark-java/src/test/java/com/baeldung/AppLiveTest.java
deleted file mode 100644
index 9e24879767..0000000000
--- a/rest-with-spark-java/src/test/java/com/baeldung/AppLiveTest.java
+++ /dev/null
@@ -1,148 +0,0 @@
-package com.baeldung;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.net.HttpURLConnection;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-
-import com.baeldung.domain.Book;
-import com.fasterxml.jackson.core.type.TypeReference;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-public class AppLiveTest extends TestCase {
-
- ObjectMapper mapper = new ObjectMapper();
-
- public AppLiveTest( String testName ) {
- super( testName );
- }
-
- public static Test suite() {
- return new TestSuite( AppLiveTest.class );
- }
-
- public void testApp() throws IOException, ClassNotFoundException {
-
- URL url;
- HttpURLConnection conn;
- BufferedReader br;
- String output;
- StringBuffer resp;
- Book book;
- Book temp;
-
- url = new URL("http://localhost:8080/AddBook/Odessy/YannMartel/GreenLeaves");
- conn = (HttpURLConnection) url.openConnection();
- conn.setRequestMethod("POST");
- conn.getContent();
- br = new BufferedReader(new InputStreamReader(
- (conn.getInputStream())));
- resp = new StringBuffer();
-
- while ((output = br.readLine()) != null) {
- resp.append(output);
- }
-
- book = mapper.readValue(resp.toString(), Book.class);
- temp = new Book("Odessy","YannMartel","GreenLeaves");
-
- assertEquals(book, temp);
-
- url = new URL("http://localhost:8080/AddBook/Twilight/StephenieMeyer/LittleBrown");
- conn = (HttpURLConnection) url.openConnection();
- conn.setRequestMethod("POST");
- br = new BufferedReader(new InputStreamReader(
- (conn.getInputStream())));
- resp = new StringBuffer();
-
- while ((output = br.readLine()) != null) {
- resp.append(output);
- }
-
- book = mapper.readValue(resp.toString(), Book.class);
- temp = new Book("Twilight","StephenieMeyer","LittleBrown");
-
- assertEquals(book, temp);
-
- url = new URL("http://localhost:8080/ListOfBooks");
- conn = (HttpURLConnection) url.openConnection();
- conn.setRequestMethod("GET");
- br = new BufferedReader(new InputStreamReader(
- (conn.getInputStream())));
- resp = new StringBuffer();
-
- while ((output = br.readLine()) != null) {
- resp.append(output);
- }
-
- List books = new ArrayList();
-
- books.add(new Book("Odessy","YannMartel","GreenLeaves"));
- books.add(new Book("Twilight","StephenieMeyer","LittleBrown"));
-
- List listOfBooks = mapper.readValue(resp.toString(), new TypeReference>(){});
-
- assertEquals(books, listOfBooks);
-
- url = new URL("http://localhost:8080/SearchBook/Twilight");
- conn = (HttpURLConnection) url.openConnection();
- conn.setRequestMethod("GET");
- br = new BufferedReader(new InputStreamReader(
- (conn.getInputStream())));
- resp = new StringBuffer();
-
- while ((output = br.readLine()) != null) {
- resp.append(output);
- }
-
- book = mapper.readValue(resp.toString(), Book.class);
- temp = new Book("Twilight","StephenieMeyer","LittleBrown");
-
- assertEquals(book, temp);
-
- url = new URL("http://localhost:8080/DeleteBook/Twilight");
- conn = (HttpURLConnection) url.openConnection();
- conn.setRequestMethod("DELETE");
- br = new BufferedReader(new InputStreamReader(
- (conn.getInputStream())));
- resp = new StringBuffer();
-
- while ((output = br.readLine()) != null) {
- resp.append(output);
- }
-
- book = mapper.readValue(resp.toString(), Book.class);
- temp = new Book("Twilight","StephenieMeyer","LittleBrown");
-
- assertEquals(book, temp);
-
- url = new URL("http://localhost:8080/ListOfBooks");
- conn = (HttpURLConnection) url.openConnection();
- conn.setRequestMethod("GET");
- br = new BufferedReader(new InputStreamReader(
- (conn.getInputStream())));
- resp = new StringBuffer();
-
- while ((output = br.readLine()) != null) {
- resp.append(output);
- }
-
- books = new ArrayList();
-
- books.add(new Book("Odessy","YannMartel","GreenLeaves"));
- listOfBooks = mapper.readValue(resp.toString(), new TypeReference>(){});
-
- assertEquals(books, listOfBooks);
-
- conn.disconnect();
-
- }
-
-}
diff --git a/spf4j/README.md b/spf4j/README.md
new file mode 100644
index 0000000000..a39cd01b5e
--- /dev/null
+++ b/spf4j/README.md
@@ -0,0 +1,3 @@
+## Relevant articles:
+
+- [Introduction to SPF4J](https://www.baeldung.com/spf4j)
diff --git a/spring-4/src/test/java/org/baeldung/SpringContextTest.java b/spring-4/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..cccdaff0cd
--- /dev/null
+++ b/spring-4/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,20 @@
+package org.baeldung;
+
+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.web.WebAppConfiguration;
+
+import com.baeldung.flips.ApplicationConfig;
+
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(classes = ApplicationConfig.class)
+@WebAppConfiguration
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-5-data-reactive/src/test/java/org/baeldung/SpringContextTest.java b/spring-5-data-reactive/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..c3ea1d8435
--- /dev/null
+++ b/spring-5-data-reactive/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.reactive.Spring5ReactiveApplication;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = Spring5ReactiveApplication.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-5-reactive-client/src/test/java/org/baeldung/SpringContextTest.java b/spring-5-reactive-client/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..678d04897b
--- /dev/null
+++ b/spring-5-reactive-client/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.reactive.Spring5ReactiveTestApplication;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = Spring5ReactiveTestApplication.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-5-reactive-security/src/main/java/com/baeldung/reactive/actuator/DownstreamServiceReactiveHealthIndicator.java b/spring-5-reactive-security/src/main/java/com/baeldung/reactive/actuator/DownstreamServiceHealthIndicator.java
similarity index 87%
rename from spring-5-reactive-security/src/main/java/com/baeldung/reactive/actuator/DownstreamServiceReactiveHealthIndicator.java
rename to spring-5-reactive-security/src/main/java/com/baeldung/reactive/actuator/DownstreamServiceHealthIndicator.java
index 7360def71e..81e77d9c61 100644
--- a/spring-5-reactive-security/src/main/java/com/baeldung/reactive/actuator/DownstreamServiceReactiveHealthIndicator.java
+++ b/spring-5-reactive-security/src/main/java/com/baeldung/reactive/actuator/DownstreamServiceHealthIndicator.java
@@ -6,7 +6,7 @@ import org.springframework.stereotype.Component;
import reactor.core.publisher.Mono;
@Component
-public class DownstreamServiceReactiveHealthIndicator implements ReactiveHealthIndicator {
+public class DownstreamServiceHealthIndicator implements ReactiveHealthIndicator {
@Override
public Mono health() {
diff --git a/spring-5-reactive-security/src/test/java/org/baeldung/SpringContextTest.java b/spring-5-reactive-security/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..479c35d986
--- /dev/null
+++ b/spring-5-reactive-security/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.reactive.security.SpringSecurity5Application;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = SpringSecurity5Application.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-5-reactive/src/test/java/org/baeldung/SpringContextTest.java b/spring-5-reactive/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..c3ea1d8435
--- /dev/null
+++ b/spring-5-reactive/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.reactive.Spring5ReactiveApplication;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = Spring5ReactiveApplication.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-5-security/src/test/java/org/baeldung/SpringContextTest.java b/spring-5-security/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..729790bd14
--- /dev/null
+++ b/spring-5-security/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.dsl.CustomConfigurerApplication;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = CustomConfigurerApplication.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-5/src/test/java/org/baeldung/SpringContextTest.java b/spring-5/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..56e8697f5c
--- /dev/null
+++ b/spring-5/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.Spring5Application;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = Spring5Application.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-activiti/src/test/java/com/baeldung/SpringContextTest.java b/spring-activiti/src/test/java/com/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..14df617b1f
--- /dev/null
+++ b/spring-activiti/src/test/java/com/baeldung/SpringContextTest.java
@@ -0,0 +1,19 @@
+package com.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.activitiwithspring.ActivitiWithSpringApplication;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = ActivitiWithSpringApplication.class)
+@AutoConfigureTestDatabase
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-all/src/main/java/org/baeldung/startup/ProfileManager.java b/spring-all/src/main/java/org/baeldung/startup/ProfileManager.java
new file mode 100644
index 0000000000..41db539265
--- /dev/null
+++ b/spring-all/src/main/java/org/baeldung/startup/ProfileManager.java
@@ -0,0 +1,18 @@
+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 ProfileManager {
+
+ @Autowired
+ private Environment environment;
+
+ public void getActiveProfiles() {
+ for (final String profileName : environment.getActiveProfiles()) {
+ System.out.println("Currently active profile - " + profileName);
+ }
+ }
+}
diff --git a/spring-all/src/test/java/org/baeldung/scopes/ScopesIntegrationTest.java b/spring-all/src/test/java/org/baeldung/scopes/ScopesIntegrationTest.java
index aa88a3775e..0ae99610f6 100644
--- a/spring-all/src/test/java/org/baeldung/scopes/ScopesIntegrationTest.java
+++ b/spring-all/src/test/java/org/baeldung/scopes/ScopesIntegrationTest.java
@@ -12,7 +12,7 @@ public class ScopesIntegrationTest {
private static final String NAME_OTHER = "Anna Jones";
@Test
- public void testScopeSingleton() {
+ public void givenSingletonScope_whenSetName_thenEqualNames() {
final ApplicationContext applicationContext = new ClassPathXmlApplicationContext("scopes.xml");
final Person personSingletonA = (Person) applicationContext.getBean("personSingleton");
@@ -25,7 +25,7 @@ public class ScopesIntegrationTest {
}
@Test
- public void testScopePrototype() {
+ public void givenPrototypeScope_whenSetNames_thenDifferentNames() {
final ApplicationContext applicationContext = new ClassPathXmlApplicationContext("scopes.xml");
final Person personPrototypeA = (Person) applicationContext.getBean("personPrototype");
diff --git a/spring-aop/src/test/java/org/baeldung/SpringContextTest.java b/spring-aop/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..4d3ed953c4
--- /dev/null
+++ b/spring-aop/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,15 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = Application.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-apache-camel/src/test/java/org/baeldung/SpringContextTest.java b/spring-apache-camel/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..1c098a56ab
--- /dev/null
+++ b/spring-apache-camel/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,13 @@
+package org.baeldung;
+
+import org.junit.Test;
+
+import com.baeldung.camel.main.App;
+
+public class SpringContextTest {
+
+ @Test
+ public final void testMain() throws Exception {
+ App.main(null);
+ }
+}
diff --git a/spring-batch/src/test/java/org/baeldung/SpringContextTest.java b/spring-batch/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..0de9a07b0a
--- /dev/null
+++ b/spring-batch/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,12 @@
+package org.baeldung;
+
+import org.baeldung.batch.App;
+import org.junit.Test;
+
+public class SpringContextTest {
+
+ @Test
+ public final void testMain() throws Exception {
+ App.main(null);
+ }
+}
diff --git a/spring-bom/src/test/java/org/baeldung/SpringContextTest.java b/spring-bom/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..783567cdfa
--- /dev/null
+++ b/spring-bom/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,13 @@
+package org.baeldung;
+
+import org.junit.Test;
+
+import com.baeldung.spring.bom.HelloWorldApp;
+
+public class SpringContextTest {
+
+ @Test
+ public final void testMain() throws Exception {
+ HelloWorldApp.main(null);
+ }
+}
diff --git a/spring-boot-admin/spring-boot-admin-client/src/test/java/org/baeldung/SpringContextTest.java b/spring-boot-admin/spring-boot-admin-client/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..834f26dacf
--- /dev/null
+++ b/spring-boot-admin/spring-boot-admin-client/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.springbootadminclient.SpringBootAdminClientApplication;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = SpringBootAdminClientApplication.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-boot-admin/spring-boot-admin-server/src/test/java/org/baeldung/SpringContextTest.java b/spring-boot-admin/spring-boot-admin-server/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..c185456019
--- /dev/null
+++ b/spring-boot-admin/spring-boot-admin-server/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.springbootadminserver.SpringBootAdminServerApplication;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = SpringBootAdminServerApplication.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-boot-angular-ecommerce/src/test/java/org/baeldung/SpringContextTest.java b/spring-boot-angular-ecommerce/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..961d756a68
--- /dev/null
+++ b/spring-boot-angular-ecommerce/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.ecommerce.EcommerceApplication;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = EcommerceApplication.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-boot-autoconfiguration/pom.xml b/spring-boot-autoconfiguration/pom.xml
index 91692ebfff..5b3b0eb86c 100644
--- a/spring-boot-autoconfiguration/pom.xml
+++ b/spring-boot-autoconfiguration/pom.xml
@@ -38,6 +38,19 @@
mysql
mysql-connector-java
+
+
+ org.springframework.boot
+ spring-boot-configuration-processor
+ 2.1.6.RELEASE
+ true
+
+
+
+ org.hsqldb
+ hsqldb
+ runtime
+
@@ -50,12 +63,10 @@
-
org.apache.maven.plugins
maven-war-plugin
-
diff --git a/spring-boot-autoconfiguration/src/main/java/com/baeldung/autoconfiguration/annotationprocessor/AnnotationProcessorApplication.java b/spring-boot-autoconfiguration/src/main/java/com/baeldung/autoconfiguration/annotationprocessor/AnnotationProcessorApplication.java
new file mode 100644
index 0000000000..91ea94e43e
--- /dev/null
+++ b/spring-boot-autoconfiguration/src/main/java/com/baeldung/autoconfiguration/annotationprocessor/AnnotationProcessorApplication.java
@@ -0,0 +1,15 @@
+package com.baeldung.autoconfiguration.annotationprocessor;
+
+import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
+import org.springframework.boot.builder.SpringApplicationBuilder;
+import org.springframework.context.annotation.ComponentScan;
+
+import com.baeldung.autoconfiguration.MySQLAutoconfiguration;
+
+@EnableAutoConfiguration(exclude = { MySQLAutoconfiguration.class})
+@ComponentScan(basePackageClasses = {DatabaseProperties.class})
+public class AnnotationProcessorApplication {
+ public static void main(String[] args) {
+ new SpringApplicationBuilder(AnnotationProcessorApplication.class).run();
+ }
+}
diff --git a/spring-boot-autoconfiguration/src/main/java/com/baeldung/autoconfiguration/annotationprocessor/DatabaseProperties.java b/spring-boot-autoconfiguration/src/main/java/com/baeldung/autoconfiguration/annotationprocessor/DatabaseProperties.java
new file mode 100644
index 0000000000..4fb5b408a2
--- /dev/null
+++ b/spring-boot-autoconfiguration/src/main/java/com/baeldung/autoconfiguration/annotationprocessor/DatabaseProperties.java
@@ -0,0 +1,73 @@
+package com.baeldung.autoconfiguration.annotationprocessor;
+
+import javax.validation.constraints.Max;
+import javax.validation.constraints.Min;
+
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+@ConfigurationProperties(prefix = "database")
+public class DatabaseProperties {
+
+ public static class Server {
+
+ /**
+ * The IP of the database server
+ */
+ private String ip;
+
+ /**
+ * The Port of the database server.
+ * The Default value is 443.
+ * The allowed values are in the range 400-4000.
+ */
+ @Min(400)
+ @Max(800)
+ private int port = 443;
+
+ public String getIp() {
+ return ip;
+ }
+
+ public void setIp(String ip) {
+ this.ip = ip;
+ }
+
+ public int getPort() {
+ return port;
+ }
+
+ public void setPort(int port) {
+ this.port = port;
+ }
+ }
+
+ private String username;
+ private String password;
+ private Server server;
+
+ public String getUsername() {
+ return username;
+ }
+
+ public void setUsername(String username) {
+ this.username = username;
+ }
+
+ public String getPassword() {
+ return password;
+ }
+
+ public void setPassword(String password) {
+ this.password = password;
+ }
+
+ public Server getServer() {
+ return server;
+ }
+
+ public void setServer(Server server) {
+ this.server = server;
+ }
+}
\ No newline at end of file
diff --git a/spring-boot-autoconfiguration/src/test/java/com/baeldung/autoconfiguration/annotationprocessor/DatabasePropertiesIntegrationTest.java b/spring-boot-autoconfiguration/src/test/java/com/baeldung/autoconfiguration/annotationprocessor/DatabasePropertiesIntegrationTest.java
new file mode 100644
index 0000000000..350e65b465
--- /dev/null
+++ b/spring-boot-autoconfiguration/src/test/java/com/baeldung/autoconfiguration/annotationprocessor/DatabasePropertiesIntegrationTest.java
@@ -0,0 +1,31 @@
+package com.baeldung.autoconfiguration.annotationprocessor;
+
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.TestPropertySource;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = AnnotationProcessorApplication.class)
+@TestPropertySource("classpath:databaseproperties-test.properties")
+public class DatabasePropertiesIntegrationTest {
+
+ @Autowired
+ private DatabaseProperties databaseProperties;
+
+ @Test
+ public void whenSimplePropertyQueriedThenReturnsPropertyValue() throws Exception {
+ Assert.assertEquals("Incorrectly bound Username property", "baeldung", databaseProperties.getUsername());
+ Assert.assertEquals("Incorrectly bound Password property", "password", databaseProperties.getPassword());
+ }
+
+ @Test
+ public void whenNestedPropertyQueriedThenReturnsPropertyValue() throws Exception {
+ Assert.assertEquals("Incorrectly bound Server IP nested property", "127.0.0.1", databaseProperties.getServer().getIp());
+ Assert.assertEquals("Incorrectly bound Server Port nested property", 3306, databaseProperties.getServer().getPort());
+ }
+
+}
diff --git a/spring-boot-autoconfiguration/src/test/resources/databaseproperties-test.properties b/spring-boot-autoconfiguration/src/test/resources/databaseproperties-test.properties
new file mode 100644
index 0000000000..c0d1d1f158
--- /dev/null
+++ b/spring-boot-autoconfiguration/src/test/resources/databaseproperties-test.properties
@@ -0,0 +1,7 @@
+#Simple Properties
+database.username=baeldung
+database.password=password
+
+#Nested Properties
+database.server.ip=127.0.0.1
+database.server.port=3306
\ No newline at end of file
diff --git a/spring-boot-bootstrap/src/test/java/com/baeldung/SpringContextTest.java b/spring-boot-bootstrap/src/test/java/com/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..4340e27fb4
--- /dev/null
+++ b/spring-boot-bootstrap/src/test/java/com/baeldung/SpringContextTest.java
@@ -0,0 +1,15 @@
+package com.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest
+public class SpringContextTest {
+
+ @Test
+ public void contextLoads() {
+ }
+}
diff --git a/spring-boot-camel/src/test/java/org/baeldung/SpringContextTest.java b/spring-boot-camel/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..8324fabfca
--- /dev/null
+++ b/spring-boot-camel/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.camel.Application;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = Application.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-boot-client/src/test/java/org/baeldung/SpringContextTest.java b/spring-boot-client/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..9c3b83ea79
--- /dev/null
+++ b/spring-boot-client/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,16 @@
+package org.baeldung;
+
+import org.baeldung.boot.Application;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = Application.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-boot-crud/pom.xml b/spring-boot-crud/pom.xml
index 15ff6c5d11..1d956bdba6 100644
--- a/spring-boot-crud/pom.xml
+++ b/spring-boot-crud/pom.xml
@@ -54,7 +54,28 @@
org.springframework.boot
spring-boot-maven-plugin
+
+ exec
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+
+
+ jar-with-dependencies
+
+
+
+
+ make-assembly
+ package
+
+ single
+
+
+
+
@@ -62,4 +83,4 @@
UTF-8
-
\ No newline at end of file
+
diff --git a/spring-boot-ctx-fluent/src/test/java/org/baeldung/SpringContextTest.java b/spring-boot-ctx-fluent/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..ff3e795778
--- /dev/null
+++ b/spring-boot-ctx-fluent/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,13 @@
+package org.baeldung;
+
+import org.junit.Test;
+
+import com.baeldung.parent.App;
+
+public class SpringContextTest {
+
+ @Test
+ public final void testMain() throws Exception {
+ App.main(new String[] {});
+ }
+}
diff --git a/spring-boot-custom-starter/greeter-spring-boot-autoconfigure/src/test/java/org/baeldung/SpringContextTest.java b/spring-boot-custom-starter/greeter-spring-boot-autoconfigure/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..e6ce83fab5
--- /dev/null
+++ b/spring-boot-custom-starter/greeter-spring-boot-autoconfigure/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+
+import com.baeldung.greeter.autoconfigure.GreeterAutoConfiguration;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(classes = GreeterAutoConfiguration.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-boot-custom-starter/greeter-spring-boot-sample-app/src/test/java/org/baeldung/SpringContextTest.java b/spring-boot-custom-starter/greeter-spring-boot-sample-app/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..b82b67df68
--- /dev/null
+++ b/spring-boot-custom-starter/greeter-spring-boot-sample-app/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.greeter.sample.GreeterSampleApplication;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = GreeterSampleApplication.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-boot-di/README.MD b/spring-boot-di/README.MD
new file mode 100644
index 0000000000..78cd163668
--- /dev/null
+++ b/spring-boot-di/README.MD
@@ -0,0 +1,6 @@
+### The Course
+The "REST With Spring" Classes: http://bit.ly/restwithspring
+
+### Relevant Articles:
+
+- [Spring Component Scanning](https://www.baeldung.com/spring-component-scanning)
diff --git a/spring-boot-di/pom.xml b/spring-boot-di/pom.xml
new file mode 100644
index 0000000000..ec40c04566
--- /dev/null
+++ b/spring-boot-di/pom.xml
@@ -0,0 +1,55 @@
+
+
+ 4.0.0
+ spring-boot-mvc
+ spring-boot-mvc
+ jar
+ Module For Spring Boot DI
+
+
+ parent-boot-2
+ com.baeldung
+ 0.0.1-SNAPSHOT
+ ../parent-boot-2
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-starter-tomcat
+ provided
+
+
+
+ org.apache.tomcat.embed
+ tomcat-embed-jasper
+ provided
+
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+ com.baeldung.SpringBootDiApplication
+ JAR
+
+
+
+
+
+
+ com.baeldung.SpringBootDiApplication
+
+
+
diff --git a/spring-boot-di/src/main/java/com/baeldung/SpringBootDiApplication.java b/spring-boot-di/src/main/java/com/baeldung/SpringBootDiApplication.java
new file mode 100644
index 0000000000..b9d2d7ecef
--- /dev/null
+++ b/spring-boot-di/src/main/java/com/baeldung/SpringBootDiApplication.java
@@ -0,0 +1,12 @@
+package com.baeldung;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+public class SpringBootDiApplication {
+
+ public static void main(String[] args) {
+ SpringApplication.run(SpringBootDiApplication.class, args);
+ }
+}
diff --git a/spring-boot/src/main/java/com/baeldung/componentscan/ExampleBean.java b/spring-boot-di/src/main/java/com/baeldung/componentscan/ExampleBean.java
similarity index 100%
rename from spring-boot/src/main/java/com/baeldung/componentscan/ExampleBean.java
rename to spring-boot-di/src/main/java/com/baeldung/componentscan/ExampleBean.java
diff --git a/spring-boot/src/main/java/com/baeldung/componentscan/springapp/SpringComponentScanApp.java b/spring-boot-di/src/main/java/com/baeldung/componentscan/springapp/SpringComponentScanApp.java
similarity index 88%
rename from spring-boot/src/main/java/com/baeldung/componentscan/springapp/SpringComponentScanApp.java
rename to spring-boot-di/src/main/java/com/baeldung/componentscan/springapp/SpringComponentScanApp.java
index 2377ed7a56..83b91f7860 100644
--- a/spring-boot/src/main/java/com/baeldung/componentscan/springapp/SpringComponentScanApp.java
+++ b/spring-boot-di/src/main/java/com/baeldung/componentscan/springapp/SpringComponentScanApp.java
@@ -1,10 +1,6 @@
package com.baeldung.componentscan.springapp;
-import org.springframework.context.annotation.FilterType;
-import org.springframework.stereotype.Component;
-
import com.baeldung.componentscan.ExampleBean;
-import com.baeldung.componentscan.springapp.flowers.Rose;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
diff --git a/spring-boot/src/main/java/com/baeldung/componentscan/springapp/animals/Cat.java b/spring-boot-di/src/main/java/com/baeldung/componentscan/springapp/animals/Cat.java
similarity index 100%
rename from spring-boot/src/main/java/com/baeldung/componentscan/springapp/animals/Cat.java
rename to spring-boot-di/src/main/java/com/baeldung/componentscan/springapp/animals/Cat.java
diff --git a/spring-boot/src/main/java/com/baeldung/componentscan/springapp/animals/Dog.java b/spring-boot-di/src/main/java/com/baeldung/componentscan/springapp/animals/Dog.java
similarity index 100%
rename from spring-boot/src/main/java/com/baeldung/componentscan/springapp/animals/Dog.java
rename to spring-boot-di/src/main/java/com/baeldung/componentscan/springapp/animals/Dog.java
diff --git a/spring-boot/src/main/java/com/baeldung/componentscan/springapp/flowers/Rose.java b/spring-boot-di/src/main/java/com/baeldung/componentscan/springapp/flowers/Rose.java
similarity index 100%
rename from spring-boot/src/main/java/com/baeldung/componentscan/springapp/flowers/Rose.java
rename to spring-boot-di/src/main/java/com/baeldung/componentscan/springapp/flowers/Rose.java
diff --git a/spring-boot/src/main/java/com/baeldung/componentscan/springbootapp/SpringBootComponentScanApp.java b/spring-boot-di/src/main/java/com/baeldung/componentscan/springbootapp/SpringBootComponentScanApp.java
similarity index 88%
rename from spring-boot/src/main/java/com/baeldung/componentscan/springbootapp/SpringBootComponentScanApp.java
rename to spring-boot-di/src/main/java/com/baeldung/componentscan/springbootapp/SpringBootComponentScanApp.java
index ba29a4e1f5..4362caefbb 100644
--- a/spring-boot/src/main/java/com/baeldung/componentscan/springbootapp/SpringBootComponentScanApp.java
+++ b/spring-boot-di/src/main/java/com/baeldung/componentscan/springbootapp/SpringBootComponentScanApp.java
@@ -1,14 +1,11 @@
package com.baeldung.componentscan.springbootapp;
import org.springframework.boot.SpringApplication;
-import org.springframework.context.annotation.FilterType;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.ComponentScan;
import com.baeldung.componentscan.ExampleBean;
-import com.baeldung.componentscan.springbootapp.flowers.Rose;
@SpringBootApplication
//@ComponentScan(basePackages = "com.baeldung.componentscan.springbootapp.animals")
diff --git a/spring-boot/src/main/java/com/baeldung/componentscan/springbootapp/animals/Cat.java b/spring-boot-di/src/main/java/com/baeldung/componentscan/springbootapp/animals/Cat.java
similarity index 100%
rename from spring-boot/src/main/java/com/baeldung/componentscan/springbootapp/animals/Cat.java
rename to spring-boot-di/src/main/java/com/baeldung/componentscan/springbootapp/animals/Cat.java
diff --git a/spring-boot/src/main/java/com/baeldung/componentscan/springbootapp/animals/Dog.java b/spring-boot-di/src/main/java/com/baeldung/componentscan/springbootapp/animals/Dog.java
similarity index 100%
rename from spring-boot/src/main/java/com/baeldung/componentscan/springbootapp/animals/Dog.java
rename to spring-boot-di/src/main/java/com/baeldung/componentscan/springbootapp/animals/Dog.java
diff --git a/spring-boot/src/main/java/com/baeldung/componentscan/springbootapp/flowers/Rose.java b/spring-boot-di/src/main/java/com/baeldung/componentscan/springbootapp/flowers/Rose.java
similarity index 100%
rename from spring-boot/src/main/java/com/baeldung/componentscan/springbootapp/flowers/Rose.java
rename to spring-boot-di/src/main/java/com/baeldung/componentscan/springbootapp/flowers/Rose.java
diff --git a/spring-boot-jasypt/src/test/java/org/baeldung/SpringContextTest.java b/spring-boot-jasypt/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..ab6e4557d5
--- /dev/null
+++ b/spring-boot-jasypt/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.jasypt.Main;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = Main.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-boot-keycloak/src/test/java/org/baeldung/SpringContextTest.java b/spring-boot-keycloak/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..4effccc083
--- /dev/null
+++ b/spring-boot-keycloak/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.keycloak.SpringBoot;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = SpringBoot.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-boot-logging-log4j2/pom.xml b/spring-boot-logging-log4j2/pom.xml
index 6cc60da52c..64696969ca 100644
--- a/spring-boot-logging-log4j2/pom.xml
+++ b/spring-boot-logging-log4j2/pom.xml
@@ -34,6 +34,12 @@
org.springframework.boot
spring-boot-starter-log4j2
+
+ org.projectlombok
+ lombok
+ 1.18.4
+ provided
+
diff --git a/spring-boot-logging-log4j2/src/main/java/com/baeldung/springbootlogging/LombokLoggingController.java b/spring-boot-logging-log4j2/src/main/java/com/baeldung/springbootlogging/LombokLoggingController.java
new file mode 100644
index 0000000000..5f75dbd5a1
--- /dev/null
+++ b/spring-boot-logging-log4j2/src/main/java/com/baeldung/springbootlogging/LombokLoggingController.java
@@ -0,0 +1,28 @@
+package com.baeldung.springbootlogging;
+
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import lombok.extern.slf4j.Slf4j;
+
+//import lombok.extern.log4j.Log4j2;
+//import lombok.extern.apachecommons.CommonsLog;
+
+@RestController("LombokLoggingController")
+@Slf4j
+// @CommonsLog (Comment any other Lombok logging annotation and uncomment this
+// to work with Apache Commons Logging)
+// @Log4j2 (Comment any other Lombok logging annotation and uncomment this to
+// work directly with Log4j2)
+public class LombokLoggingController {
+
+ @GetMapping("/lombok")
+ public String index() {
+ log.trace("A TRACE Message");
+ log.debug("A DEBUG Message");
+ log.info("An INFO Message");
+ log.warn("A WARN Message");
+ log.error("An ERROR Message");
+ return "Howdy! Check out the Logs to see the output...";
+ }
+}
diff --git a/spring-boot-logging-log4j2/src/test/java/org/baeldung/SpringContextTest.java b/spring-boot-logging-log4j2/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..9817522e68
--- /dev/null
+++ b/spring-boot-logging-log4j2/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.springbootlogging.SpringBootLoggingApplication;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = SpringBootLoggingApplication.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-boot-mvc/src/test/java/org/baeldung/SpringContextTest.java b/spring-boot-mvc/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..16e0708fc9
--- /dev/null
+++ b/spring-boot-mvc/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.springbootmvc.SpringBootMvcApplication;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = SpringBootMvcApplication.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-boot-ops-2/src/test/java/com/baeldung/springbootconfiguration/SpringContextTest.java b/spring-boot-ops-2/src/test/java/com/baeldung/springbootconfiguration/SpringContextTest.java
new file mode 100644
index 0000000000..11bbad8bb2
--- /dev/null
+++ b/spring-boot-ops-2/src/test/java/com/baeldung/springbootconfiguration/SpringContextTest.java
@@ -0,0 +1,15 @@
+package com.baeldung.springbootconfiguration;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest
+public class SpringContextTest {
+
+ @Test
+ public void contextLoads() {
+ }
+}
diff --git a/spring-boot-property-exp/property-exp-custom-config/src/test/java/org/baeldung/SpringContextTest.java b/spring-boot-property-exp/property-exp-custom-config/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..874c4f582f
--- /dev/null
+++ b/spring-boot-property-exp/property-exp-custom-config/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.propertyexpansion.SpringBootPropertyExpansionApp;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = SpringBootPropertyExpansionApp.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-boot-property-exp/property-exp-default-config/src/test/java/org/baeldung/SpringContextTest.java b/spring-boot-property-exp/property-exp-default-config/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..874c4f582f
--- /dev/null
+++ b/spring-boot-property-exp/property-exp-default-config/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.propertyexpansion.SpringBootPropertyExpansionApp;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = SpringBootPropertyExpansionApp.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-boot-rest/src/main/java/com/baeldung/web/exception/BadRequestException.java b/spring-boot-rest/src/main/java/com/baeldung/web/exception/BadRequestException.java
new file mode 100644
index 0000000000..9ebf885d4b
--- /dev/null
+++ b/spring-boot-rest/src/main/java/com/baeldung/web/exception/BadRequestException.java
@@ -0,0 +1,8 @@
+package com.baeldung.web.exception;
+
+import org.springframework.http.HttpStatus;
+import org.springframework.web.bind.annotation.ResponseStatus;
+
+@ResponseStatus(value = HttpStatus.BAD_REQUEST)
+public class BadRequestException extends RuntimeException {
+}
diff --git a/spring-boot-rest/src/main/java/com/baeldung/web/exception/ResourceNotFoundException.java b/spring-boot-rest/src/main/java/com/baeldung/web/exception/ResourceNotFoundException.java
new file mode 100644
index 0000000000..a80802eadf
--- /dev/null
+++ b/spring-boot-rest/src/main/java/com/baeldung/web/exception/ResourceNotFoundException.java
@@ -0,0 +1,8 @@
+package com.baeldung.web.exception;
+
+import org.springframework.http.HttpStatus;
+import org.springframework.web.bind.annotation.ResponseStatus;
+
+@ResponseStatus(value = HttpStatus.NOT_FOUND)
+public class ResourceNotFoundException extends RuntimeException {
+}
diff --git a/spring-boot-rest/src/test/java/com/baeldung/SpringContextTest.java b/spring-boot-rest/src/test/java/com/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..9cba7f8fc1
--- /dev/null
+++ b/spring-boot-rest/src/test/java/com/baeldung/SpringContextTest.java
@@ -0,0 +1,16 @@
+package com.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = {SpringBootRestApplication.class})
+public class SpringContextTest {
+
+ @Test
+ public void contextLoads() {
+ }
+
+}
diff --git a/spring-boot-security/src/main/java/com/baeldung/springbootsecurity/basic_auth/config/BasicAuthConfiguration.java b/spring-boot-security/src/main/java/com/baeldung/springbootsecurity/basic_auth/config/BasicConfiguration.java
similarity index 94%
rename from spring-boot-security/src/main/java/com/baeldung/springbootsecurity/basic_auth/config/BasicAuthConfiguration.java
rename to spring-boot-security/src/main/java/com/baeldung/springbootsecurity/basic_auth/config/BasicConfiguration.java
index 592ef5354d..3cfa45421c 100644
--- a/spring-boot-security/src/main/java/com/baeldung/springbootsecurity/basic_auth/config/BasicAuthConfiguration.java
+++ b/spring-boot-security/src/main/java/com/baeldung/springbootsecurity/basic_auth/config/BasicConfiguration.java
@@ -10,7 +10,7 @@ import org.springframework.security.crypto.password.PasswordEncoder;
@Configuration
@EnableWebSecurity
-public class BasicAuthConfiguration extends WebSecurityConfigurerAdapter {
+public class BasicConfiguration extends WebSecurityConfigurerAdapter {
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
diff --git a/spring-boot-security/src/test/java/com/baeldung/springbootsecurity/basic_auth/BasicAuthConfigurationIntegrationTest.java b/spring-boot-security/src/test/java/com/baeldung/springbootsecurity/basic_auth/BasicConfigurationIntegrationTest.java
similarity index 90%
rename from spring-boot-security/src/test/java/com/baeldung/springbootsecurity/basic_auth/BasicAuthConfigurationIntegrationTest.java
rename to spring-boot-security/src/test/java/com/baeldung/springbootsecurity/basic_auth/BasicConfigurationIntegrationTest.java
index c091aa6d75..f221712513 100644
--- a/spring-boot-security/src/test/java/com/baeldung/springbootsecurity/basic_auth/BasicAuthConfigurationIntegrationTest.java
+++ b/spring-boot-security/src/test/java/com/baeldung/springbootsecurity/basic_auth/BasicConfigurationIntegrationTest.java
@@ -1,27 +1,26 @@
package com.baeldung.springbootsecurity.basic_auth;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.springframework.boot.web.server.LocalServerPort;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.web.client.TestRestTemplate;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
-import org.springframework.test.context.junit4.SpringRunner;
-
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URL;
-
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import static org.springframework.boot.test.context.SpringBootTest.WebEnvironment.RANDOM_PORT;
+
+import java.io.IOException;
+import java.net.MalformedURLException;
+import java.net.URL;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.boot.test.web.client.TestRestTemplate;
+import org.springframework.boot.web.server.LocalServerPort;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.test.context.junit4.SpringRunner;
@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = RANDOM_PORT, classes = SpringBootSecurityApplication.class)
-public class BasicAuthConfigurationIntegrationTest {
+public class BasicConfigurationIntegrationTest {
TestRestTemplate restTemplate;
URL base;
@@ -45,7 +44,7 @@ public class BasicAuthConfigurationIntegrationTest {
}
@Test
- public void whenUserWithWrongCredentialsRequestsHomePage_ThenUnauthorizedPage() throws IllegalStateException, IOException {
+ public void whenUserWithWrongCredentials_thenUnauthorizedPage() throws IllegalStateException, IOException {
restTemplate = new TestRestTemplate("user", "wrongpassword");
ResponseEntity response = restTemplate.getForEntity(base.toString(), String.class);
diff --git a/spring-boot-testing/pom.xml b/spring-boot-testing/pom.xml
index 84107070bd..12fb14b366 100644
--- a/spring-boot-testing/pom.xml
+++ b/spring-boot-testing/pom.xml
@@ -15,6 +15,10 @@
+
+ org.springframework.boot
+ spring-boot-starter-data-redis
+
org.springframework.boot
spring-boot-starter-web
@@ -33,6 +37,13 @@
test
+
+
+ it.ozimov
+ embedded-redis
+ 0.7.2
+ test
+
org.spockframework
diff --git a/spring-boot-testing/src/main/java/com/baeldung/boot/embeddedRedis/configuration/RedisConfiguration.java b/spring-boot-testing/src/main/java/com/baeldung/boot/embeddedRedis/configuration/RedisConfiguration.java
new file mode 100644
index 0000000000..6b5b20892f
--- /dev/null
+++ b/spring-boot-testing/src/main/java/com/baeldung/boot/embeddedRedis/configuration/RedisConfiguration.java
@@ -0,0 +1,24 @@
+package com.baeldung.boot.embeddedRedis.configuration;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.data.redis.repository.configuration.EnableRedisRepositories;
+
+@Configuration
+@EnableRedisRepositories
+public class RedisConfiguration {
+
+ @Bean
+ public LettuceConnectionFactory redisConnectionFactory(final RedisProperties redisProperties) {
+ return new LettuceConnectionFactory(redisProperties.getRedisHost(), redisProperties.getRedisPort());
+ }
+
+ @Bean
+ public RedisTemplate, ?> redisTemplate(final LettuceConnectionFactory connectionFactory) {
+ RedisTemplate template = new RedisTemplate<>();
+ template.setConnectionFactory(connectionFactory);
+ return template;
+ }
+}
diff --git a/spring-boot-testing/src/main/java/com/baeldung/boot/embeddedRedis/configuration/RedisProperties.java b/spring-boot-testing/src/main/java/com/baeldung/boot/embeddedRedis/configuration/RedisProperties.java
new file mode 100644
index 0000000000..76f2e1bbfe
--- /dev/null
+++ b/spring-boot-testing/src/main/java/com/baeldung/boot/embeddedRedis/configuration/RedisProperties.java
@@ -0,0 +1,23 @@
+package com.baeldung.boot.embeddedRedis.configuration;
+
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+public class RedisProperties {
+ private final int redisPort;
+ private final String redisHost;
+
+ public RedisProperties(@Value("${spring.redis.port}") final int redisPort, @Value("${spring.redis.host}") final String redisHost) {
+ this.redisPort = redisPort;
+ this.redisHost = redisHost;
+ }
+
+ public int getRedisPort() {
+ return redisPort;
+ }
+
+ public String getRedisHost() {
+ return redisHost;
+ }
+}
diff --git a/spring-boot-testing/src/main/java/com/baeldung/boot/embeddedRedis/domain/User.java b/spring-boot-testing/src/main/java/com/baeldung/boot/embeddedRedis/domain/User.java
new file mode 100644
index 0000000000..41657aaa66
--- /dev/null
+++ b/spring-boot-testing/src/main/java/com/baeldung/boot/embeddedRedis/domain/User.java
@@ -0,0 +1,25 @@
+package com.baeldung.boot.embeddedRedis.domain;
+
+import org.springframework.data.annotation.Id;
+import org.springframework.data.redis.core.RedisHash;
+
+import java.util.UUID;
+
+@RedisHash("user")
+public class User {
+ @Id private UUID id;
+ private String name;
+
+ public User(UUID id, String name) {
+ this.id = id;
+ this.name = name;
+ }
+
+ public UUID getId() {
+ return id;
+ }
+
+ public String getName() {
+ return name;
+ }
+}
diff --git a/spring-boot-testing/src/main/java/com/baeldung/boot/embeddedRedis/domain/repository/UserRepository.java b/spring-boot-testing/src/main/java/com/baeldung/boot/embeddedRedis/domain/repository/UserRepository.java
new file mode 100644
index 0000000000..0558bb8482
--- /dev/null
+++ b/spring-boot-testing/src/main/java/com/baeldung/boot/embeddedRedis/domain/repository/UserRepository.java
@@ -0,0 +1,10 @@
+package com.baeldung.boot.embeddedRedis.domain.repository;
+
+import com.baeldung.boot.embeddedRedis.domain.User;
+import org.springframework.data.repository.CrudRepository;
+
+import java.util.UUID;
+
+public interface UserRepository extends CrudRepository {
+
+}
diff --git a/spring-boot-testing/src/main/resources/application.properties b/spring-boot-testing/src/main/resources/application.properties
index e378aacdd5..8dc7f6e3c3 100644
--- a/spring-boot-testing/src/main/resources/application.properties
+++ b/spring-boot-testing/src/main/resources/application.properties
@@ -1,3 +1,6 @@
+# embedded redis
+spring.redis.host= localhost
+spring.redis.port= 6379
# security
spring.security.user.name=john
diff --git a/spring-boot-testing/src/test/java/com/baeldung/boot/SpringContextTest.java b/spring-boot-testing/src/test/java/com/baeldung/boot/SpringContextTest.java
new file mode 100644
index 0000000000..f3c8b9a954
--- /dev/null
+++ b/spring-boot-testing/src/test/java/com/baeldung/boot/SpringContextTest.java
@@ -0,0 +1,15 @@
+package com.baeldung.boot;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = Application.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-boot-testing/src/test/java/com/baeldung/boot/embeddedRedis/TestRedisConfiguration.java b/spring-boot-testing/src/test/java/com/baeldung/boot/embeddedRedis/TestRedisConfiguration.java
new file mode 100644
index 0000000000..b4748bcd38
--- /dev/null
+++ b/spring-boot-testing/src/test/java/com/baeldung/boot/embeddedRedis/TestRedisConfiguration.java
@@ -0,0 +1,28 @@
+package com.baeldung.boot.embeddedRedis;
+
+import com.baeldung.boot.embeddedRedis.configuration.RedisProperties;
+import org.springframework.boot.test.context.TestConfiguration;
+import redis.embedded.RedisServer;
+
+import javax.annotation.PostConstruct;
+import javax.annotation.PreDestroy;
+
+@TestConfiguration
+public class TestRedisConfiguration {
+
+ private final RedisServer redisServer;
+
+ public TestRedisConfiguration(final RedisProperties redisProperties) {
+ this.redisServer = new RedisServer(redisProperties.getRedisPort());
+ }
+
+ @PostConstruct
+ public void postConstruct() {
+ redisServer.start();
+ }
+
+ @PreDestroy
+ public void preDestroy() {
+ redisServer.stop();
+ }
+}
diff --git a/spring-boot-testing/src/test/java/com/baeldung/boot/embeddedRedis/domain/repository/UserRepositoryIntegrationTest.java b/spring-boot-testing/src/test/java/com/baeldung/boot/embeddedRedis/domain/repository/UserRepositoryIntegrationTest.java
new file mode 100644
index 0000000000..9577ccf0e8
--- /dev/null
+++ b/spring-boot-testing/src/test/java/com/baeldung/boot/embeddedRedis/domain/repository/UserRepositoryIntegrationTest.java
@@ -0,0 +1,31 @@
+package com.baeldung.boot.embeddedRedis.domain.repository;
+
+import com.baeldung.boot.embeddedRedis.TestRedisConfiguration;
+import com.baeldung.boot.embeddedRedis.domain.User;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import java.util.UUID;
+
+import static org.junit.Assert.assertNotNull;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = TestRedisConfiguration.class)
+public class UserRepositoryIntegrationTest {
+
+ @Autowired
+ private UserRepository userRepository;
+
+ @Test
+ public void shouldSaveUser_toRedis() {
+ final UUID id = UUID.randomUUID();
+ final User user = new User(id, "name");
+
+ final User saved = userRepository.save(user);
+
+ assertNotNull(saved);
+ }
+}
\ No newline at end of file
diff --git a/spring-boot-testing/src/test/resources/application.properties b/spring-boot-testing/src/test/resources/application.properties
index 9a8b496a8b..0c5b0e13e6 100644
--- a/spring-boot-testing/src/test/resources/application.properties
+++ b/spring-boot-testing/src/test/resources/application.properties
@@ -1,3 +1,6 @@
+#embedded redis
+spring.redis.host= localhost
+spring.redis.port= 6370
# security
spring.security.user.name=john
spring.security.user.password=123
\ No newline at end of file
diff --git a/spring-boot-vue/src/test/java/org/baeldung/SpringContextTest.java b/spring-boot-vue/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..16e0708fc9
--- /dev/null
+++ b/spring-boot-vue/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.springbootmvc.SpringBootMvcApplication;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = SpringBootMvcApplication.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-boot/.attach_pid12812 b/spring-boot/.attach_pid12812
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/spring-boot/README.MD b/spring-boot/README.MD
index 435398904f..e159220cbc 100644
--- a/spring-boot/README.MD
+++ b/spring-boot/README.MD
@@ -5,7 +5,6 @@ The "REST With Spring" Classes: http://bit.ly/restwithspring
- [A Guide to Spring in Eclipse STS](http://www.baeldung.com/eclipse-sts-spring)
- [The @ServletComponentScan Annotation in Spring Boot](http://www.baeldung.com/spring-servletcomponentscan)
-- [Intro to Building an Application with Spring Boot](http://www.baeldung.com/intro-to-spring-boot)
- [How to Register a Servlet in Java](http://www.baeldung.com/register-servlet)
- [Guide to Spring WebUtils and ServletRequestUtils](http://www.baeldung.com/spring-webutils-servletrequestutils)
- [Using Custom Banners in Spring Boot](http://www.baeldung.com/spring-boot-custom-banners)
@@ -30,11 +29,9 @@ The "REST With Spring" Classes: http://bit.ly/restwithspring
- [Spring Shutdown Callbacks](http://www.baeldung.com/spring-shutdown-callbacks)
- [Container Configuration in Spring Boot 2](http://www.baeldung.com/embeddedservletcontainercustomizer-configurableembeddedservletcontainer-spring-boot)
- [Introduction to Chaos Monkey](https://www.baeldung.com/spring-boot-chaos-monkey)
-- [Spring Component Scanning](https://www.baeldung.com/spring-component-scanning)
- [Load Spring Boot Properties From a JSON File](https://www.baeldung.com/spring-boot-json-properties)
- [Display Auto-Configuration Report in Spring Boot](https://www.baeldung.com/spring-boot-auto-configuration-report)
- [Injecting Git Information Into Spring](https://www.baeldung.com/spring-git-information)
- [Validation in Spring Boot](https://www.baeldung.com/spring-boot-bean-validation)
- [Guide to Creating and Running a Jar File in Java](https://www.baeldung.com/java-create-jar)
-- [Entity To DTO Conversion for a Spring REST API](https://www.baeldung.com/entity-to-and-from-dto-for-a-java-spring-application)
- [Guide to @EnableConfigurationProperties](https://www.baeldung.com/spring-enable-config-properties)
diff --git a/spring-cloud-bus/spring-cloud-config-client/src/test/java/org/baeldung/SpringContextTest.java b/spring-cloud-bus/spring-cloud-config-client/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..a5ab1342a1
--- /dev/null
+++ b/spring-cloud-bus/spring-cloud-config-client/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,18 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.SpringCloudConfigClientApplication;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = SpringCloudConfigClientApplication.class)
+public class SpringContextTest {
+
+ @Test
+ public void contextLoads() {
+ }
+
+}
diff --git a/spring-cloud-bus/spring-cloud-config-server/src/test/java/org/baeldung/SpringContextTest.java b/spring-cloud-bus/spring-cloud-config-server/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..19ca53c4a7
--- /dev/null
+++ b/spring-cloud-bus/spring-cloud-config-server/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,18 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.SpringCloudConfigServerApplication;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = SpringCloudConfigServerApplication.class)
+public class SpringContextTest {
+
+ @Test
+ public void contextLoads() {
+ }
+
+}
diff --git a/spring-cloud-data-flow/batch-job/src/test/java/org/baeldung/SpringContextTest.java b/spring-cloud-data-flow/batch-job/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..3ac11452d3
--- /dev/null
+++ b/spring-cloud-data-flow/batch-job/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,18 @@
+package org.baeldung;
+
+import org.baeldung.spring.cloud.JobConfiguration;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest
+@ContextConfiguration(classes = JobConfiguration.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-cloud-data-flow/data-flow-server/src/test/java/org/baeldung/SpringContextTest.java b/spring-cloud-data-flow/data-flow-server/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..83cb8067cf
--- /dev/null
+++ b/spring-cloud-data-flow/data-flow-server/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,16 @@
+package org.baeldung;
+
+import org.baeldung.spring.cloud.DataFlowServerApplication;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = DataFlowServerApplication.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-cloud-data-flow/data-flow-shell/src/test/java/org/baeldung/SpringContextTest.java b/spring-cloud-data-flow/data-flow-shell/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..c456f69979
--- /dev/null
+++ b/spring-cloud-data-flow/data-flow-shell/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.baeldung.spring.cloud.DataFlowShellApplication;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = DataFlowShellApplication.class)
+public class SpringContextTest {
+
+ @Test
+ public void contextLoads() {
+ }
+
+}
diff --git a/spring-cloud-data-flow/log-sink/src/test/java/org/baeldung/SpringContextTest.java b/spring-cloud-data-flow/log-sink/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..42903189d3
--- /dev/null
+++ b/spring-cloud-data-flow/log-sink/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.baeldung.spring.cloud.LogSinkApplication;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = LogSinkApplication.class)
+public class SpringContextTest {
+
+ @Test
+ public void contextLoads() {
+ }
+
+}
diff --git a/spring-cloud-data-flow/time-processor/src/test/java/org/baeldung/SpringContextTest.java b/spring-cloud-data-flow/time-processor/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..d090e626d2
--- /dev/null
+++ b/spring-cloud-data-flow/time-processor/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.baeldung.spring.cloud.TimeProcessorApplication;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = TimeProcessorApplication.class)
+public class SpringContextTest {
+
+ @Test
+ public void contextLoads() {
+ }
+
+}
diff --git a/spring-cloud-data-flow/time-source/src/test/java/org/baeldung/SpringContextTest.java b/spring-cloud-data-flow/time-source/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..e19b88de90
--- /dev/null
+++ b/spring-cloud-data-flow/time-source/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.baeldung.spring.cloud.TimeSourceApplication;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = TimeSourceApplication.class)
+public class SpringContextTest {
+
+ @Test
+ public void contextLoads() {
+ }
+
+}
diff --git a/spring-cloud/spring-cloud-archaius/additional-sources-simple/src/test/java/com/baeldung/spring/cloud/archaius/additionalsources/SpringContextTest.java b/spring-cloud/spring-cloud-archaius/additional-sources-simple/src/test/java/com/baeldung/spring/cloud/archaius/additionalsources/SpringContextTest.java
new file mode 100644
index 0000000000..7e38329f88
--- /dev/null
+++ b/spring-cloud/spring-cloud-archaius/additional-sources-simple/src/test/java/com/baeldung/spring/cloud/archaius/additionalsources/SpringContextTest.java
@@ -0,0 +1,15 @@
+package com.baeldung.spring.cloud.archaius.additionalsources;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = AdditionalSourcesSimpleApplication.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-cloud/spring-cloud-archaius/basic-config/src/test/java/com/baeldung/spring/cloud/archaius/basic/SpringContextTest.java b/spring-cloud/spring-cloud-archaius/basic-config/src/test/java/com/baeldung/spring/cloud/archaius/basic/SpringContextTest.java
new file mode 100644
index 0000000000..e88ec436c6
--- /dev/null
+++ b/spring-cloud/spring-cloud-archaius/basic-config/src/test/java/com/baeldung/spring/cloud/archaius/basic/SpringContextTest.java
@@ -0,0 +1,16 @@
+package com.baeldung.spring.cloud.archaius.basic;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+
+}
diff --git a/spring-cloud/spring-cloud-archaius/basic-config/src/test/java/org/baeldung/SpringContextTest.java b/spring-cloud/spring-cloud-archaius/basic-config/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..7674713ff8
--- /dev/null
+++ b/spring-cloud/spring-cloud-archaius/basic-config/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.spring.cloud.archaius.basic.BasicArchaiusApplication;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = BasicArchaiusApplication.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-cloud/spring-cloud-archaius/extra-configs/src/test/java/org/baeldung/SpringContextTest.java b/spring-cloud/spring-cloud-archaius/extra-configs/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..a03bd8c23b
--- /dev/null
+++ b/spring-cloud/spring-cloud-archaius/extra-configs/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.spring.cloud.archaius.extraconfigs.ExtraConfigsApplication;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = ExtraConfigsApplication.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-cloud/spring-cloud-archaius/jdbc-config/src/test/java/com/baeldung/spring/cloud/archaius/jdbconfig/SpringContextTest.java b/spring-cloud/spring-cloud-archaius/jdbc-config/src/test/java/com/baeldung/spring/cloud/archaius/jdbconfig/SpringContextTest.java
new file mode 100644
index 0000000000..5d3bc8e741
--- /dev/null
+++ b/spring-cloud/spring-cloud-archaius/jdbc-config/src/test/java/com/baeldung/spring/cloud/archaius/jdbconfig/SpringContextTest.java
@@ -0,0 +1,15 @@
+package com.baeldung.spring.cloud.archaius.jdbconfig;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = JdbcSourcesApplication.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-cloud/spring-cloud-bootstrap/config/src/test/java/org/baeldung/SpringContextTest.java b/spring-cloud/spring-cloud-bootstrap/config/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..98ae3e4895
--- /dev/null
+++ b/spring-cloud/spring-cloud-bootstrap/config/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.spring.cloud.bootstrap.config.ConfigApplication;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = ConfigApplication.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/test/java/com/baeldung/spring/cloud/bootstrap/gateway/SpringContextTest.java b/spring-cloud/spring-cloud-bootstrap/gateway/src/test/java/com/baeldung/spring/cloud/bootstrap/gateway/SpringContextTest.java
new file mode 100644
index 0000000000..a2d1cd1087
--- /dev/null
+++ b/spring-cloud/spring-cloud-bootstrap/gateway/src/test/java/com/baeldung/spring/cloud/bootstrap/gateway/SpringContextTest.java
@@ -0,0 +1,16 @@
+package com.baeldung.spring.cloud.bootstrap.gateway;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+
+}
diff --git a/spring-cloud/spring-cloud-bootstrap/zipkin/src/test/java/org/baeldung/SpringContextTest.java b/spring-cloud/spring-cloud-bootstrap/zipkin/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..76b7539b6b
--- /dev/null
+++ b/spring-cloud/spring-cloud-bootstrap/zipkin/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.spring.cloud.bootstrap.zipkin.ZipkinApplication;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = ZipkinApplication.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-cloud/spring-cloud-config/server/src/test/java/com/baeldung/spring/cloud/config/server/SpringContextTest.java b/spring-cloud/spring-cloud-config/server/src/test/java/com/baeldung/spring/cloud/config/server/SpringContextTest.java
new file mode 100644
index 0000000000..d879737553
--- /dev/null
+++ b/spring-cloud/spring-cloud-config/server/src/test/java/com/baeldung/spring/cloud/config/server/SpringContextTest.java
@@ -0,0 +1,16 @@
+package com.baeldung.spring.cloud.config.server;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+import org.springframework.test.context.web.WebAppConfiguration;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@SpringBootTest(classes = ConfigServer.class)
+@WebAppConfiguration
+public class SpringContextTest {
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-cloud/spring-cloud-connectors-heroku/src/test/java/com/baeldung/spring/cloud/connectors/heroku/SpringContextTest.java b/spring-cloud/spring-cloud-connectors-heroku/src/test/java/com/baeldung/spring/cloud/connectors/heroku/SpringContextTest.java
new file mode 100644
index 0000000000..c6066027f5
--- /dev/null
+++ b/spring-cloud/spring-cloud-connectors-heroku/src/test/java/com/baeldung/spring/cloud/connectors/heroku/SpringContextTest.java
@@ -0,0 +1,17 @@
+package com.baeldung.spring.cloud.connectors.heroku;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.spring.cloud.connectors.heroku.ConnectorsHerokuApplication;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = ConnectorsHerokuApplication.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-cloud/spring-cloud-contract/spring-cloud-contract-consumer/src/test/java/org/baeldung/SpringContextTest.java b/spring-cloud/spring-cloud-contract/spring-cloud-contract-consumer/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..e9098b1467
--- /dev/null
+++ b/spring-cloud/spring-cloud-contract/spring-cloud-contract-consumer/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.spring.cloud.springcloudcontractconsumer.SpringCloudContractConsumerApplication;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = SpringCloudContractConsumerApplication.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-cloud/spring-cloud-contract/spring-cloud-contract-producer/src/test/java/org/baeldung/SpringContextTest.java b/spring-cloud/spring-cloud-contract/spring-cloud-contract-producer/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..7d77cbbd7a
--- /dev/null
+++ b/spring-cloud/spring-cloud-contract/spring-cloud-contract-producer/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.spring.cloud.springcloudcontractproducer.SpringCloudContractProducerApplication;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = SpringCloudContractProducerApplication.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-cloud/spring-cloud-eureka/spring-cloud-eureka-client/src/test/java/com/baeldung/spring/cloud/eureka/client/SpringContextTest.java b/spring-cloud/spring-cloud-eureka/spring-cloud-eureka-client/src/test/java/com/baeldung/spring/cloud/eureka/client/SpringContextTest.java
new file mode 100644
index 0000000000..a3ed012abb
--- /dev/null
+++ b/spring-cloud/spring-cloud-eureka/spring-cloud-eureka-client/src/test/java/com/baeldung/spring/cloud/eureka/client/SpringContextTest.java
@@ -0,0 +1,16 @@
+package com.baeldung.spring.cloud.eureka.client;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+
+}
diff --git a/spring-cloud/spring-cloud-eureka/spring-cloud-eureka-feign-client/src/test/java/com/baeldung/spring/cloud/feign/client/SpringContextTest.java b/spring-cloud/spring-cloud-eureka/spring-cloud-eureka-feign-client/src/test/java/com/baeldung/spring/cloud/feign/client/SpringContextTest.java
new file mode 100644
index 0000000000..ac8150defa
--- /dev/null
+++ b/spring-cloud/spring-cloud-eureka/spring-cloud-eureka-feign-client/src/test/java/com/baeldung/spring/cloud/feign/client/SpringContextTest.java
@@ -0,0 +1,16 @@
+package com.baeldung.spring.cloud.feign.client;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+
+}
diff --git a/spring-cloud/spring-cloud-eureka/spring-cloud-eureka-server/src/test/java/com/baeldung/spring/cloud/eureka/server/SpringContextTest.java b/spring-cloud/spring-cloud-eureka/spring-cloud-eureka-server/src/test/java/com/baeldung/spring/cloud/eureka/server/SpringContextTest.java
new file mode 100644
index 0000000000..e7996bd316
--- /dev/null
+++ b/spring-cloud/spring-cloud-eureka/spring-cloud-eureka-server/src/test/java/com/baeldung/spring/cloud/eureka/server/SpringContextTest.java
@@ -0,0 +1,16 @@
+package com.baeldung.spring.cloud.eureka.server;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+
+}
diff --git a/spring-cloud/spring-cloud-functions/src/test/java/com/baeldung/spring/cloudfunction/aws/SpringContextTest.java b/spring-cloud/spring-cloud-functions/src/test/java/com/baeldung/spring/cloudfunction/aws/SpringContextTest.java
new file mode 100644
index 0000000000..67411ebd4a
--- /dev/null
+++ b/spring-cloud/spring-cloud-functions/src/test/java/com/baeldung/spring/cloudfunction/aws/SpringContextTest.java
@@ -0,0 +1,15 @@
+package com.baeldung.spring.cloudfunction.aws;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = CloudFunctionAwsApplication.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-cloud/spring-cloud-gateway/src/test/java/org/baeldung/SpringContextTest.java b/spring-cloud/spring-cloud-gateway/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..b7e2acf7a8
--- /dev/null
+++ b/spring-cloud/spring-cloud-gateway/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.spring.cloud.GatewayApplication;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = GatewayApplication.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-cloud/spring-cloud-hystrix/feign-rest-consumer/src/test/java/com/baeldung/spring/cloud/hystrix/rest/consumer/SpringContextTest.java b/spring-cloud/spring-cloud-hystrix/feign-rest-consumer/src/test/java/com/baeldung/spring/cloud/hystrix/rest/consumer/SpringContextTest.java
new file mode 100644
index 0000000000..d5f8180f20
--- /dev/null
+++ b/spring-cloud/spring-cloud-hystrix/feign-rest-consumer/src/test/java/com/baeldung/spring/cloud/hystrix/rest/consumer/SpringContextTest.java
@@ -0,0 +1,18 @@
+package com.baeldung.spring.cloud.hystrix.rest.consumer;
+
+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.web.WebAppConfiguration;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(classes = RestConsumerFeignApplication.class)
+@WebAppConfiguration
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+
+}
diff --git a/spring-cloud/spring-cloud-hystrix/rest-consumer/src/test/java/com/baeldung/spring/cloud/hystrix/rest/consumer/SpringContextTest.java b/spring-cloud/spring-cloud-hystrix/rest-consumer/src/test/java/com/baeldung/spring/cloud/hystrix/rest/consumer/SpringContextTest.java
new file mode 100644
index 0000000000..d3260a4517
--- /dev/null
+++ b/spring-cloud/spring-cloud-hystrix/rest-consumer/src/test/java/com/baeldung/spring/cloud/hystrix/rest/consumer/SpringContextTest.java
@@ -0,0 +1,18 @@
+package com.baeldung.spring.cloud.hystrix.rest.consumer;
+
+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.web.WebAppConfiguration;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(classes = RestConsumerApplication.class)
+@WebAppConfiguration
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+
+}
diff --git a/spring-cloud/spring-cloud-hystrix/rest-producer/src/test/java/com/baeldung/spring/cloud/hystrix/rest/producer/SpringContextTest.java b/spring-cloud/spring-cloud-hystrix/rest-producer/src/test/java/com/baeldung/spring/cloud/hystrix/rest/producer/SpringContextTest.java
new file mode 100644
index 0000000000..bd871fc1da
--- /dev/null
+++ b/spring-cloud/spring-cloud-hystrix/rest-producer/src/test/java/com/baeldung/spring/cloud/hystrix/rest/producer/SpringContextTest.java
@@ -0,0 +1,16 @@
+package com.baeldung.spring.cloud.hystrix.rest.producer;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+
+}
diff --git a/spring-cloud/spring-cloud-kubernetes/client-service/src/test/java/org/baeldung/SpringContextTest.java b/spring-cloud/spring-cloud-kubernetes/client-service/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..af59614f7c
--- /dev/null
+++ b/spring-cloud/spring-cloud-kubernetes/client-service/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.spring.cloud.kubernetes.client.Application;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = Application.class)
+public class SpringContextTest {
+
+ @Test
+ public void contextLoads() {
+ }
+}
diff --git a/spring-cloud/spring-cloud-kubernetes/demo-backend/src/test/java/org/baeldung/SpringContextTest.java b/spring-cloud/spring-cloud-kubernetes/demo-backend/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..af393cb697
--- /dev/null
+++ b/spring-cloud/spring-cloud-kubernetes/demo-backend/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,18 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.spring.cloud.kubernetes.backend.KubernetesBackendApplication;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = KubernetesBackendApplication.class)
+public class SpringContextTest {
+
+ @Test
+ public void contextLoads() {
+ }
+
+}
diff --git a/spring-cloud/spring-cloud-kubernetes/demo-frontend/src/test/java/org/baeldung/SpringContextTest.java b/spring-cloud/spring-cloud-kubernetes/demo-frontend/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..17cb5a5f39
--- /dev/null
+++ b/spring-cloud/spring-cloud-kubernetes/demo-frontend/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,18 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.spring.cloud.kubernetes.frontend.KubernetesFrontendApplication;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = KubernetesFrontendApplication.class)
+public class SpringContextTest {
+
+ @Test
+ public void contextLoads() {
+ }
+
+}
diff --git a/spring-cloud/spring-cloud-kubernetes/liveness-example/src/test/java/com/baeldung/SpringContextTest.java b/spring-cloud/spring-cloud-kubernetes/liveness-example/src/test/java/com/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..7c605567d8
--- /dev/null
+++ b/spring-cloud/spring-cloud-kubernetes/liveness-example/src/test/java/com/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package com.baeldung;
+
+import com.baeldung.liveness.Application;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = Application.class)
+public class SpringContextTest {
+
+ @Test
+ public void contextLoads() {
+ }
+
+}
diff --git a/spring-cloud/spring-cloud-kubernetes/readiness-example/src/test/java/com/baeldung/SpringContextTest.java b/spring-cloud/spring-cloud-kubernetes/readiness-example/src/test/java/com/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..59802d220a
--- /dev/null
+++ b/spring-cloud/spring-cloud-kubernetes/readiness-example/src/test/java/com/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package com.baeldung;
+
+import com.baeldung.readiness.Application;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = Application.class)
+public class SpringContextTest {
+
+ @Test
+ public void contextLoads() {
+ }
+
+}
diff --git a/spring-cloud/spring-cloud-kubernetes/travel-agency-service/src/test/java/com/baeldung/spring/cloud/kubernetes/travelagency/SpringContextTest.java b/spring-cloud/spring-cloud-kubernetes/travel-agency-service/src/test/java/com/baeldung/spring/cloud/kubernetes/travelagency/SpringContextTest.java
new file mode 100644
index 0000000000..6e7f99fb0d
--- /dev/null
+++ b/spring-cloud/spring-cloud-kubernetes/travel-agency-service/src/test/java/com/baeldung/spring/cloud/kubernetes/travelagency/SpringContextTest.java
@@ -0,0 +1,16 @@
+package com.baeldung.spring.cloud.kubernetes.travelagency;
+
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = Application.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-cloud/spring-cloud-openfeign/src/test/java/com/baeldung/cloud/openfeign/SpringContextTest.java b/spring-cloud/spring-cloud-openfeign/src/test/java/com/baeldung/cloud/openfeign/SpringContextTest.java
new file mode 100644
index 0000000000..4bf35f74f4
--- /dev/null
+++ b/spring-cloud/spring-cloud-openfeign/src/test/java/com/baeldung/cloud/openfeign/SpringContextTest.java
@@ -0,0 +1,16 @@
+package com.baeldung.cloud.openfeign;
+
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = ExampleApplication.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-cloud/spring-cloud-rest/spring-cloud-rest-config-server/src/test/java/org/baeldung/SpringContextTest.java b/spring-cloud/spring-cloud-rest/spring-cloud-rest-config-server/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..1b4083e7a6
--- /dev/null
+++ b/spring-cloud/spring-cloud-rest/spring-cloud-rest-config-server/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,15 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = SpringCloudRestConfigApplication.class)
+public class SpringContextTest {
+ @Test
+ public void contextLoads() {
+ }
+
+}
diff --git a/spring-cloud/spring-cloud-ribbon-client/src/test/java/org/baeldung/SpringContextTest.java b/spring-cloud/spring-cloud-ribbon-client/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..23dbcf8ff6
--- /dev/null
+++ b/spring-cloud/spring-cloud-ribbon-client/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.spring.cloud.ribbon.client.ServerLocationApp;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = ServerLocationApp.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-cloud/spring-cloud-security/auth-client/src/test/java/org/baeldung/SpringContextTest.java b/spring-cloud/spring-cloud-security/auth-client/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..02c429acf5
--- /dev/null
+++ b/spring-cloud/spring-cloud-security/auth-client/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,18 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.CloudSite;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = CloudSite.class)
+public class SpringContextTest {
+
+ @Test
+ public void contextLoads() {
+ }
+
+}
diff --git a/spring-cloud/spring-cloud-security/auth-resource/src/test/java/org/baeldung/SpringContextTest.java b/spring-cloud/spring-cloud-security/auth-resource/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..a061928bf5
--- /dev/null
+++ b/spring-cloud/spring-cloud-security/auth-resource/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,18 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.Application;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = Application.class)
+public class SpringContextTest {
+
+ @Test
+ public void contextLoads() {
+ }
+
+}
diff --git a/spring-cloud/spring-cloud-security/auth-server/src/test/java/org/baeldung/SpringContextTest.java b/spring-cloud/spring-cloud-security/auth-server/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..aec56a574c
--- /dev/null
+++ b/spring-cloud/spring-cloud-security/auth-server/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,18 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.AuthServer;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = AuthServer.class)
+public class SpringContextTest {
+
+ @Test
+ public void contextLoads() {
+ }
+
+}
diff --git a/spring-cloud/spring-cloud-stream-starters/twitterhdfs/src/test/java/com/baeldung/twitterhdfs/aggregate/SpringContextTest.java b/spring-cloud/spring-cloud-stream-starters/twitterhdfs/src/test/java/com/baeldung/twitterhdfs/aggregate/SpringContextTest.java
new file mode 100644
index 0000000000..d78a18d557
--- /dev/null
+++ b/spring-cloud/spring-cloud-stream-starters/twitterhdfs/src/test/java/com/baeldung/twitterhdfs/aggregate/SpringContextTest.java
@@ -0,0 +1,15 @@
+package com.baeldung.twitterhdfs.aggregate;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = AggregateApp.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-cloud/spring-cloud-stream/spring-cloud-stream-rabbit/src/test/java/org/baeldung/SpringContextTest.java b/spring-cloud/spring-cloud-stream/spring-cloud-stream-rabbit/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..0f3b8de901
--- /dev/null
+++ b/spring-cloud/spring-cloud-stream/spring-cloud-stream-rabbit/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.spring.cloud.stream.rabbit.MultipleOutputsServiceApplication;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = MultipleOutputsServiceApplication.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-cloud/spring-cloud-task/springcloudtasksink/src/test/java/org/baeldung/SpringContextTest.java b/spring-cloud/spring-cloud-task/springcloudtasksink/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..51f0926429
--- /dev/null
+++ b/spring-cloud/spring-cloud-task/springcloudtasksink/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.SpringCloudTaskFinal.SpringCloudTaskSinkApplication;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = SpringCloudTaskSinkApplication.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-cloud/spring-cloud-vault/src/test/java/org/baeldung/spring/cloud/vaultsample/SpringContextTest.java b/spring-cloud/spring-cloud-vault/src/test/java/org/baeldung/spring/cloud/vaultsample/SpringContextTest.java
new file mode 100644
index 0000000000..73fcbe55f0
--- /dev/null
+++ b/spring-cloud/spring-cloud-vault/src/test/java/org/baeldung/spring/cloud/vaultsample/SpringContextTest.java
@@ -0,0 +1,15 @@
+package org.baeldung.spring.cloud.vaultsample;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = VaultSampleApplication.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-cloud/spring-cloud-zookeeper/Greeting/src/test/baeldung/SpringContextTest.java b/spring-cloud/spring-cloud-zookeeper/Greeting/src/test/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..b45e7b9889
--- /dev/null
+++ b/spring-cloud/spring-cloud-zookeeper/Greeting/src/test/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.spring.cloud.ribbon.client.ServerLocationApp;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = GreetingApplication.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-cloud/spring-cloud-zookeeper/HelloWorld/src/test/java/com/baeldung/spring/cloud/helloworld/SpringContextTest.java b/spring-cloud/spring-cloud-zookeeper/HelloWorld/src/test/java/com/baeldung/spring/cloud/helloworld/SpringContextTest.java
new file mode 100644
index 0000000000..df7335dfa6
--- /dev/null
+++ b/spring-cloud/spring-cloud-zookeeper/HelloWorld/src/test/java/com/baeldung/spring/cloud/helloworld/SpringContextTest.java
@@ -0,0 +1,16 @@
+package com.baeldung.spring.cloud.helloworld;
+
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = HelloWorldApplication.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-cloud/spring-cloud-zuul-eureka-integration/eureka-client/src/test/java/com/baeldung/spring/cloud/eureka/client/SpringContextTest.java b/spring-cloud/spring-cloud-zuul-eureka-integration/eureka-client/src/test/java/com/baeldung/spring/cloud/eureka/client/SpringContextTest.java
new file mode 100644
index 0000000000..9e3680b244
--- /dev/null
+++ b/spring-cloud/spring-cloud-zuul-eureka-integration/eureka-client/src/test/java/com/baeldung/spring/cloud/eureka/client/SpringContextTest.java
@@ -0,0 +1,16 @@
+package com.baeldung.spring.cloud.eureka.client;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+
+}
diff --git a/spring-cloud/spring-cloud-zuul-eureka-integration/eureka-server/src/test/java/com/baeldung/spring/cloud/eureka/server/SpringContextTest.java b/spring-cloud/spring-cloud-zuul-eureka-integration/eureka-server/src/test/java/com/baeldung/spring/cloud/eureka/server/SpringContextTest.java
new file mode 100644
index 0000000000..e7996bd316
--- /dev/null
+++ b/spring-cloud/spring-cloud-zuul-eureka-integration/eureka-server/src/test/java/com/baeldung/spring/cloud/eureka/server/SpringContextTest.java
@@ -0,0 +1,16 @@
+package com.baeldung.spring.cloud.eureka.server;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+
+}
diff --git a/spring-cloud/spring-cloud-zuul-eureka-integration/zuul-server/src/test/java/com/baeldung/spring/cloud/zuul/config/SpringContextTest.java b/spring-cloud/spring-cloud-zuul-eureka-integration/zuul-server/src/test/java/com/baeldung/spring/cloud/zuul/config/SpringContextTest.java
new file mode 100644
index 0000000000..a5350655fb
--- /dev/null
+++ b/spring-cloud/spring-cloud-zuul-eureka-integration/zuul-server/src/test/java/com/baeldung/spring/cloud/zuul/config/SpringContextTest.java
@@ -0,0 +1,16 @@
+package com.baeldung.spring.cloud.zuul.config;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+
+}
diff --git a/spring-cloud/spring-cloud-zuul/src/test/java/com/baeldung/spring/cloud/zuulratelimitdemo/controller/SpringContextTest.java b/spring-cloud/spring-cloud-zuul/src/test/java/com/baeldung/spring/cloud/zuulratelimitdemo/controller/SpringContextTest.java
new file mode 100644
index 0000000000..b5ddf6f65c
--- /dev/null
+++ b/spring-cloud/spring-cloud-zuul/src/test/java/com/baeldung/spring/cloud/zuulratelimitdemo/controller/SpringContextTest.java
@@ -0,0 +1,17 @@
+package com.baeldung.spring.cloud.zuulratelimitdemo.controller;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.spring.cloud.zuulratelimitdemo.ZuulRatelimitDemoApplication;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = ZuulRatelimitDemoApplication.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-core/README.md b/spring-core/README.md
index 74f86ef49e..18d14b7ecf 100644
--- a/spring-core/README.md
+++ b/spring-core/README.md
@@ -8,7 +8,6 @@
- [Spring YAML Configuration](http://www.baeldung.com/spring-yaml)
- [Introduction to Spring’s StreamUtils](http://www.baeldung.com/spring-stream-utils)
- [Using Spring @Value with Defaults](http://www.baeldung.com/spring-value-defaults)
-- [Groovy Bean Definitions](http://www.baeldung.com/spring-groovy-beans)
- [XML-Based Injection in Spring](http://www.baeldung.com/spring-xml-injection)
- [A Quick Guide to the Spring @Lazy Annotation](http://www.baeldung.com/spring-lazy-annotation)
- [Injecting Prototype Beans into a Singleton Instance in Spring](http://www.baeldung.com/spring-inject-prototype-bean-into-singleton)
diff --git a/spring-core/src/test/java/com/baeldung/resource/SpringResourceIntegrationTest.java b/spring-core/src/test/java/com/baeldung/resource/SpringResourceIntegrationTest.java
index a7a2a9032a..c7a2984045 100644
--- a/spring-core/src/test/java/com/baeldung/resource/SpringResourceIntegrationTest.java
+++ b/spring-core/src/test/java/com/baeldung/resource/SpringResourceIntegrationTest.java
@@ -4,6 +4,7 @@ import static org.junit.Assert.assertEquals;
import java.io.BufferedReader;
import java.io.File;
+import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
@@ -77,7 +78,7 @@ public class SpringResourceIntegrationTest {
@Test
public void whenResourceUtils_thenReadSuccessful() throws IOException {
- final File employeeFile = ResourceUtils.getFile("classpath:data/employees.dat");
+ final File employeeFile = loadEmployeesWithSpringInternalClass();
final String employees = new String(Files.readAllBytes(employeeFile.toPath()));
assertEquals(EMPLOYEES_EXPECTED, employees);
}
@@ -112,4 +113,8 @@ public class SpringResourceIntegrationTest {
final String employees = new String(Files.readAllBytes(resource.toPath()));
assertEquals(EMPLOYEES_EXPECTED, employees);
}
+
+ public File loadEmployeesWithSpringInternalClass() throws FileNotFoundException {
+ return ResourceUtils.getFile("classpath:data/employees.dat");
+ }
}
diff --git a/spring-cucumber/src/test/java/org/baeldung/SpringContextTest.java b/spring-cucumber/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..7b8fa74fc9
--- /dev/null
+++ b/spring-cucumber/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.SpringDemoApplication;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = SpringDemoApplication.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-data-rest-querydsl/src/test/java/org/baeldung/SpringContextTest.java b/spring-data-rest-querydsl/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..5e68a8e64f
--- /dev/null
+++ b/spring-data-rest-querydsl/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.Application;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = Application.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-data-rest/src/test/java/org/baeldung/SpringContextTest.java b/spring-data-rest/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..7e7fccadef
--- /dev/null
+++ b/spring-data-rest/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.books.SpringDataRestApplication;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = SpringDataRestApplication.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-dispatcher-servlet/src/test/java/org/baeldung/SpringContextTest.java b/spring-dispatcher-servlet/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..d1de77b1e6
--- /dev/null
+++ b/spring-dispatcher-servlet/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,19 @@
+package org.baeldung;
+
+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.web.WebAppConfiguration;
+
+import com.baeldung.springdispatcherservlet.configuration.AppConfig;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(classes = AppConfig.class)
+@WebAppConfiguration
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-drools/src/test/java/org/baeldung/SpringContextTest.java b/spring-drools/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..9a36a521f1
--- /dev/null
+++ b/spring-drools/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+
+import com.baeldung.spring.drools.service.TaxiFareConfiguration;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(classes = TaxiFareConfiguration.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-ejb/spring-ejb-client/src/test/java/org/baeldung/SpringContextTest.java b/spring-ejb/spring-ejb-client/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..3e9af8a336
--- /dev/null
+++ b/spring-ejb/spring-ejb-client/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.springejbclient.SpringEjbClientApplication;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = SpringEjbClientApplication.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-freemarker/src/test/java/org/baeldung/SpringContextTest.java b/spring-freemarker/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..49b8fe94d1
--- /dev/null
+++ b/spring-freemarker/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,20 @@
+package org.baeldung;
+
+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.web.WebAppConfiguration;
+
+import com.baeldung.freemarker.config.SpringWebConfig;
+import com.baeldung.freemarker.config.WebConfiguration;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(classes = { SpringWebConfig.class, WebConfiguration.class })
+@WebAppConfiguration
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-integration/src/test/java/org/baeldung/SpringContextTest.java b/spring-integration/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..e45997b71e
--- /dev/null
+++ b/spring-integration/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,21 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+
+import com.baeldung.si.security.MessageConsumer;
+import com.baeldung.si.security.SecuredDirectChannel;
+import com.baeldung.si.security.SecurityConfig;
+import com.baeldung.si.security.SecurityPubSubChannel;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(classes = { SecurityConfig.class, SecuredDirectChannel.class, SecurityPubSubChannel.class,
+ MessageConsumer.class })
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-jenkins-pipeline/src/test/java/org/baeldung/SpringContextTest.java b/spring-jenkins-pipeline/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..79ab2f48b8
--- /dev/null
+++ b/spring-jenkins-pipeline/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,19 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.annotation.DirtiesContext;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.SpringJenkinsPipelineApplication;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = SpringJenkinsPipelineApplication.class)
+@DirtiesContext
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-jersey/src/test/java/org/baeldung/SpringContextTest.java b/spring-jersey/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..f480e597b3
--- /dev/null
+++ b/spring-jersey/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+
+import com.baeldung.server.config.RestConfig;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(classes = RestConfig.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-jinq/src/test/java/org/baeldung/SpringContextTest.java b/spring-jinq/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..e0da75c7af
--- /dev/null
+++ b/spring-jinq/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.spring.jinq.JinqApplication;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = JinqApplication.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-jms/src/test/java/org/baeldung/SpringContextTest.java b/spring-jms/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..e89faeebb7
--- /dev/null
+++ b/spring-jms/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,15 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(locations = {"classpath:applicationContext.xml", "classpath:EmbeddedActiveMQ.xml"})
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-kafka/src/main/java/com/baeldung/spring/kafka/KafkaConsumerConfig.java b/spring-kafka/src/main/java/com/baeldung/spring/kafka/KafkaConsumerConfig.java
index 9353e63ff6..933d2353aa 100644
--- a/spring-kafka/src/main/java/com/baeldung/spring/kafka/KafkaConsumerConfig.java
+++ b/spring-kafka/src/main/java/com/baeldung/spring/kafka/KafkaConsumerConfig.java
@@ -29,39 +29,36 @@ public class KafkaConsumerConfig {
props.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class);
return new DefaultKafkaConsumerFactory<>(props);
}
+
+ public ConcurrentKafkaListenerContainerFactory kafkaListenerContainerFactory(String groupId) {
+ ConcurrentKafkaListenerContainerFactory factory = new ConcurrentKafkaListenerContainerFactory<>();
+ factory.setConsumerFactory(consumerFactory(groupId));
+ return factory;
+ }
@Bean
public ConcurrentKafkaListenerContainerFactory fooKafkaListenerContainerFactory() {
- ConcurrentKafkaListenerContainerFactory factory = new ConcurrentKafkaListenerContainerFactory<>();
- factory.setConsumerFactory(consumerFactory("foo"));
- return factory;
+ return kafkaListenerContainerFactory("foo");
}
@Bean
public ConcurrentKafkaListenerContainerFactory barKafkaListenerContainerFactory() {
- ConcurrentKafkaListenerContainerFactory factory = new ConcurrentKafkaListenerContainerFactory<>();
- factory.setConsumerFactory(consumerFactory("bar"));
- return factory;
+ return kafkaListenerContainerFactory("bar");
}
@Bean
public ConcurrentKafkaListenerContainerFactory headersKafkaListenerContainerFactory() {
- ConcurrentKafkaListenerContainerFactory factory = new ConcurrentKafkaListenerContainerFactory<>();
- factory.setConsumerFactory(consumerFactory("headers"));
- return factory;
+ return kafkaListenerContainerFactory("headers");
}
@Bean
public ConcurrentKafkaListenerContainerFactory partitionsKafkaListenerContainerFactory() {
- ConcurrentKafkaListenerContainerFactory factory = new ConcurrentKafkaListenerContainerFactory<>();
- factory.setConsumerFactory(consumerFactory("partitions"));
- return factory;
+ return kafkaListenerContainerFactory("partitions");
}
@Bean
public ConcurrentKafkaListenerContainerFactory filterKafkaListenerContainerFactory() {
- ConcurrentKafkaListenerContainerFactory factory = new ConcurrentKafkaListenerContainerFactory<>();
- factory.setConsumerFactory(consumerFactory("filter"));
+ ConcurrentKafkaListenerContainerFactory factory = kafkaListenerContainerFactory("filter");
factory.setRecordFilterStrategy(record -> record.value()
.contains("World"));
return factory;
diff --git a/spring-katharsis/src/test/java/org/baeldung/SpringContextTest.java b/spring-katharsis/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..769a436778
--- /dev/null
+++ b/spring-katharsis/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,16 @@
+package org.baeldung;
+
+import org.baeldung.Application;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = Application.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-ldap/src/test/java/org/baeldung/SpringContextTest.java b/spring-ldap/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..8f0c3d4612
--- /dev/null
+++ b/spring-ldap/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+
+import com.baeldung.ldap.javaconfig.AppConfig;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(classes = AppConfig.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-mobile/src/test/java/org/baeldung/SpringContextTest.java b/spring-mobile/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..5e68a8e64f
--- /dev/null
+++ b/spring-mobile/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.Application;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = Application.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-mockito/src/test/java/org/baeldung/SpringContextTest.java b/spring-mockito/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..b6a4e8e389
--- /dev/null
+++ b/spring-mockito/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.MocksApplication;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = MocksApplication.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-mvc-forms-jsp/src/test/java/org/baeldung/SpringContextTest.java b/spring-mvc-forms-jsp/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..e35fc8c86c
--- /dev/null
+++ b/spring-mvc-forms-jsp/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,19 @@
+package org.baeldung;
+
+import com.baeldung.springmvcforms.configuration.ApplicationConfiguration;
+
+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.web.WebAppConfiguration;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(classes = ApplicationConfiguration.class)
+@WebAppConfiguration
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-mvc-forms-thymeleaf/src/test/java/org/baeldung/listbindingexample/SpringContextTest.java b/spring-mvc-forms-thymeleaf/src/test/java/org/baeldung/listbindingexample/SpringContextTest.java
new file mode 100644
index 0000000000..751df882f9
--- /dev/null
+++ b/spring-mvc-forms-thymeleaf/src/test/java/org/baeldung/listbindingexample/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung.listbindingexample;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.listbindingexample.ListBindingApplication;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = {ListBindingApplication.class})
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-mvc-forms-thymeleaf/src/test/java/org/baeldung/sessionattrs/SpringContextTest.java b/spring-mvc-forms-thymeleaf/src/test/java/org/baeldung/sessionattrs/SpringContextTest.java
new file mode 100644
index 0000000000..0b308319b1
--- /dev/null
+++ b/spring-mvc-forms-thymeleaf/src/test/java/org/baeldung/sessionattrs/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung.sessionattrs;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.sessionattrs.SessionAttrsApplication;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = {SessionAttrsApplication.class})
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-mvc-java/pom.xml b/spring-mvc-java/pom.xml
index e5dd5ad9e1..cb16e91bc4 100644
--- a/spring-mvc-java/pom.xml
+++ b/spring-mvc-java/pom.xml
@@ -144,6 +144,11 @@
spring-messaging
${spring.version}
+
+ org.glassfish
+ javax.el
+ ${javax.el.version}
+
@@ -290,7 +295,7 @@
3.16-beta1
- 3.0.1-b06
+ 3.0.1-b09
diff --git a/spring-mvc-java/src/main/java/com/baeldung/web/controller/MessageController.java b/spring-mvc-java/src/main/java/com/baeldung/web/controller/message/MessageController.java
similarity index 94%
rename from spring-mvc-java/src/main/java/com/baeldung/web/controller/MessageController.java
rename to spring-mvc-java/src/main/java/com/baeldung/web/controller/message/MessageController.java
index 111bf023f7..fdb0d75530 100644
--- a/spring-mvc-java/src/main/java/com/baeldung/web/controller/MessageController.java
+++ b/spring-mvc-java/src/main/java/com/baeldung/web/controller/message/MessageController.java
@@ -1,4 +1,4 @@
-package com.baeldung.web.controller;
+package com.baeldung.web.controller.message;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
diff --git a/spring-mvc-java/src/test/java/com/baeldung/SpringContextTest.java b/spring-mvc-java/src/test/java/com/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..9777addb61
--- /dev/null
+++ b/spring-mvc-java/src/test/java/com/baeldung/SpringContextTest.java
@@ -0,0 +1,21 @@
+package com.baeldung;
+
+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;
+import org.springframework.test.context.web.WebAppConfiguration;
+
+import com.baeldung.config.AppInitializer;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(classes = { AppInitializer.class }, loader = AnnotationConfigContextLoader.class)
+@WebAppConfiguration
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+
+ }
+}
diff --git a/spring-mvc-java/src/test/java/com/baeldung/htmlunit/TestConfig.java b/spring-mvc-java/src/test/java/com/baeldung/htmlunit/TestConfig.java
index 529879fada..75efd57ae4 100644
--- a/spring-mvc-java/src/test/java/com/baeldung/htmlunit/TestConfig.java
+++ b/spring-mvc-java/src/test/java/com/baeldung/htmlunit/TestConfig.java
@@ -15,7 +15,7 @@ import org.thymeleaf.templateresolver.ServletContextTemplateResolver;
@Configuration
@EnableWebMvc
-@ComponentScan(basePackages = { "com.baeldung.web.controller" })
+@ComponentScan(basePackages = { "com.baeldung.web.controller.message" })
public class TestConfig implements WebMvcConfigurer {
@Autowired
@@ -44,5 +44,4 @@ public class TestConfig implements WebMvcConfigurer {
templateEngine.setTemplateResolver(templateResolver());
return templateEngine;
}
-
}
diff --git a/spring-mvc-simple/src/test/java/com/baeldung/SpringContextTest.java b/spring-mvc-simple/src/test/java/com/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..ab0b23c4a5
--- /dev/null
+++ b/spring-mvc-simple/src/test/java/com/baeldung/SpringContextTest.java
@@ -0,0 +1,21 @@
+package com.baeldung;
+
+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.web.WebAppConfiguration;
+
+import com.baeldung.spring.configuration.ApplicationConfiguration;
+
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(classes={ApplicationConfiguration.class})
+@WebAppConfiguration
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
+
diff --git a/spring-mvc-velocity/src/test/java/org/baeldung/SpringContextTest.java b/spring-mvc-velocity/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..22a4486aa7
--- /dev/null
+++ b/spring-mvc-velocity/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,20 @@
+package org.baeldung;
+
+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.web.WebAppConfiguration;
+
+import com.baeldung.mvc.velocity.spring.config.WebConfig;
+import com.baeldung.mvc.velocity.test.config.TestConfig;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(classes = { TestConfig.class, WebConfig.class })
+@WebAppConfiguration
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-mvc-webflow/src/test/java/org/baeldung/SpringContextTest.java b/spring-mvc-webflow/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..122dc18bad
--- /dev/null
+++ b/spring-mvc-webflow/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,19 @@
+package org.baeldung;
+
+import org.baeldung.spring.WebFlowConfig;
+import org.baeldung.spring.WebMvcConfig;
+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.web.WebAppConfiguration;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(classes = {WebFlowConfig.class, WebMvcConfig.class})
+@WebAppConfiguration
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-mvc-xml/src/test/java/org/baeldung/SpringContextTest.java b/spring-mvc-xml/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..27dcb83bd4
--- /dev/null
+++ b/spring-mvc-xml/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,19 @@
+package org.baeldung;
+
+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.web.WebAppConfiguration;
+
+import com.baeldung.spring.ClientWebConfig;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(classes = ClientWebConfig.class)
+@WebAppConfiguration
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-protobuf/src/test/java/org/baeldung/SpringContextTest.java b/spring-protobuf/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..4f655277b7
--- /dev/null
+++ b/spring-protobuf/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,19 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.annotation.DirtiesContext;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.protobuf.Application;
+
+@DirtiesContext
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = Application.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-quartz/pom.xml b/spring-quartz/pom.xml
index 58e72c1d51..4c7ac6eee9 100644
--- a/spring-quartz/pom.xml
+++ b/spring-quartz/pom.xml
@@ -32,6 +32,16 @@
quartz
${quartz.version}
+
+ com.mchange
+ c3p0
+ ${c3p0.version}
+
+
+
+ com.h2database
+ h2
+
@@ -44,7 +54,8 @@
- 2.2.3
+ 2.3.0
+ 0.9.5.2
\ No newline at end of file
diff --git a/spring-quartz/src/main/java/org/baeldung/springquartz/basics/scheduler/QrtzScheduler.java b/spring-quartz/src/main/java/org/baeldung/springquartz/basics/scheduler/QrtzScheduler.java
index 6601df6c94..ccf9fca8c1 100644
--- a/spring-quartz/src/main/java/org/baeldung/springquartz/basics/scheduler/QrtzScheduler.java
+++ b/spring-quartz/src/main/java/org/baeldung/springquartz/basics/scheduler/QrtzScheduler.java
@@ -10,17 +10,20 @@ import javax.annotation.PostConstruct;
import org.baeldung.springquartz.config.AutoWiringSpringBeanJobFactory;
import org.quartz.*;
-import org.quartz.impl.StdSchedulerFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.config.PropertiesFactoryBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.io.ClassPathResource;
+import org.springframework.scheduling.quartz.SchedulerFactoryBean;
import org.springframework.scheduling.quartz.SpringBeanJobFactory;
+import java.util.Properties;
+
@Configuration
@ConditionalOnExpression("'${using.spring.schedulerFactory}'=='false'")
public class QrtzScheduler {
@@ -45,14 +48,9 @@ public class QrtzScheduler {
}
@Bean
- public Scheduler scheduler(Trigger trigger, JobDetail job) throws SchedulerException, IOException {
-
- StdSchedulerFactory factory = new StdSchedulerFactory();
- factory.initialize(new ClassPathResource("quartz.properties").getInputStream());
-
+ public Scheduler scheduler(Trigger trigger, JobDetail job, SchedulerFactoryBean factory) throws SchedulerException {
logger.debug("Getting a handle to the Scheduler");
Scheduler scheduler = factory.getScheduler();
- scheduler.setJobFactory(springBeanJobFactory());
scheduler.scheduleJob(job, trigger);
logger.debug("Starting Scheduler threads");
@@ -60,6 +58,21 @@ public class QrtzScheduler {
return scheduler;
}
+ @Bean
+ public SchedulerFactoryBean schedulerFactoryBean() throws IOException {
+ SchedulerFactoryBean factory = new SchedulerFactoryBean();
+ factory.setJobFactory(springBeanJobFactory());
+ factory.setQuartzProperties(quartzProperties());
+ return factory;
+ }
+
+ public Properties quartzProperties() throws IOException {
+ PropertiesFactoryBean propertiesFactoryBean = new PropertiesFactoryBean();
+ propertiesFactoryBean.setLocation(new ClassPathResource("/quartz.properties"));
+ propertiesFactoryBean.afterPropertiesSet();
+ return propertiesFactoryBean.getObject();
+ }
+
@Bean
public JobDetail jobDetail() {
diff --git a/spring-quartz/src/main/java/org/baeldung/springquartz/basics/scheduler/SpringQrtzScheduler.java b/spring-quartz/src/main/java/org/baeldung/springquartz/basics/scheduler/SpringQrtzScheduler.java
index 9978f61522..f824765efe 100644
--- a/spring-quartz/src/main/java/org/baeldung/springquartz/basics/scheduler/SpringQrtzScheduler.java
+++ b/spring-quartz/src/main/java/org/baeldung/springquartz/basics/scheduler/SpringQrtzScheduler.java
@@ -1,6 +1,7 @@
package org.baeldung.springquartz.basics.scheduler;
import javax.annotation.PostConstruct;
+import javax.sql.DataSource;
import org.baeldung.springquartz.config.AutoWiringSpringBeanJobFactory;
import org.quartz.JobDetail;
@@ -9,7 +10,11 @@ import org.quartz.Trigger;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
+import org.springframework.boot.autoconfigure.quartz.QuartzDataSource;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.boot.jdbc.DataSourceBuilder;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@@ -20,6 +25,7 @@ import org.springframework.scheduling.quartz.SimpleTriggerFactoryBean;
import org.springframework.scheduling.quartz.SpringBeanJobFactory;
@Configuration
+@EnableAutoConfiguration
@ConditionalOnExpression("'${using.spring.schedulerFactory}'=='true'")
public class SpringQrtzScheduler {
@@ -43,7 +49,7 @@ public class SpringQrtzScheduler {
}
@Bean
- public SchedulerFactoryBean scheduler(Trigger trigger, JobDetail job) {
+ public SchedulerFactoryBean scheduler(Trigger trigger, JobDetail job, DataSource quartzDataSource) {
SchedulerFactoryBean schedulerFactory = new SchedulerFactoryBean();
schedulerFactory.setConfigLocation(new ClassPathResource("quartz.properties"));
@@ -53,6 +59,9 @@ public class SpringQrtzScheduler {
schedulerFactory.setJobDetails(job);
schedulerFactory.setTriggers(trigger);
+ // Comment the following line to use the default Quartz job store.
+ schedulerFactory.setDataSource(quartzDataSource);
+
return schedulerFactory;
}
@@ -81,4 +90,12 @@ public class SpringQrtzScheduler {
trigger.setName("Qrtz_Trigger");
return trigger;
}
+
+ @Bean
+ @QuartzDataSource
+ @ConfigurationProperties(prefix = "spring.datasource")
+ public DataSource quartzDataSource() {
+ return DataSourceBuilder.create().build();
+ }
+
}
diff --git a/spring-quartz/src/main/java/org/baeldung/springquartz/basics/service/SampleJobService.java b/spring-quartz/src/main/java/org/baeldung/springquartz/basics/service/SampleJobService.java
index ddf4efc2c5..6f66352616 100644
--- a/spring-quartz/src/main/java/org/baeldung/springquartz/basics/service/SampleJobService.java
+++ b/spring-quartz/src/main/java/org/baeldung/springquartz/basics/service/SampleJobService.java
@@ -4,20 +4,31 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
+import java.util.concurrent.atomic.AtomicInteger;
+
@Service
public class SampleJobService {
+ public static final long EXECUTION_TIME = 5000L;
+
private Logger logger = LoggerFactory.getLogger(getClass());
+ private AtomicInteger count = new AtomicInteger();
+
public void executeSampleJob() {
logger.info("The sample job has begun...");
try {
- Thread.sleep(5000);
+ Thread.sleep(EXECUTION_TIME);
} catch (InterruptedException e) {
logger.error("Error while executing sample job", e);
} finally {
+ count.incrementAndGet();
logger.info("Sample job has finished...");
}
}
+
+ public int getNumberOfInvocations() {
+ return count.get();
+ }
}
diff --git a/spring-quartz/src/main/resources/application.properties b/spring-quartz/src/main/resources/application.properties
index 7bdd647e25..557349af2e 100644
--- a/spring-quartz/src/main/resources/application.properties
+++ b/spring-quartz/src/main/resources/application.properties
@@ -1 +1,10 @@
-using.spring.schedulerFactory=true
\ No newline at end of file
+using.spring.schedulerFactory=true
+
+spring.quartz.job-store-type=jdbc
+# Always create the Quartz database on startup
+spring.quartz.jdbc.initialize-schema=always
+
+spring.datasource.jdbc-url=jdbc:h2:mem:spring-quartz;DB_CLOSE_ON_EXIT=FALSE
+spring.datasource.driverClassName=org.h2.Driver
+spring.datasource.username=sa
+spring.datasource.password=
diff --git a/spring-quartz/src/main/resources/quartz.properties b/spring-quartz/src/main/resources/quartz.properties
index cefaaef8e4..662bb83eb0 100644
--- a/spring-quartz/src/main/resources/quartz.properties
+++ b/spring-quartz/src/main/resources/quartz.properties
@@ -4,7 +4,19 @@ org.quartz.threadPool.threadCount=2
org.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread=true
# job-store
-org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore
+# Enable this property for RAMJobStore
+#org.quartz.jobStore.class=org.quartz.simpl.RAMJobStore
-# others
-org.quartz.jobStore.misfireThreshold = 60000
\ No newline at end of file
+# Enable these properties for a JDBCJobStore using JobStoreTX
+org.quartz.jobStore.class=org.quartz.impl.jdbcjobstore.JobStoreTX
+org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.StdJDBCDelegate
+org.quartz.jobStore.dataSource=quartzDataSource
+# Enable this property for JobStoreCMT
+#org.quartz.jobStore.nonManagedTXDataSource=quartzDataSource
+
+# H2 database
+# use an in-memory database & initialise Quartz using their standard SQL script
+org.quartz.dataSource.quartzDataSource.URL=jdbc:h2:mem:spring-quartz;INIT=RUNSCRIPT FROM 'classpath:/org/quartz/impl/jdbcjobstore/tables_h2.sql'
+org.quartz.dataSource.quartzDataSource.driver=org.h2.Driver
+org.quartz.dataSource.quartzDataSource.user=sa
+org.quartz.dataSource.quartzDataSource.password=
diff --git a/spring-quartz/src/test/java/org/baeldung/SpringContextIntegrationTest.java b/spring-quartz/src/test/java/org/baeldung/SpringContextIntegrationTest.java
index 516cc587a7..fec47f045c 100644
--- a/spring-quartz/src/test/java/org/baeldung/SpringContextIntegrationTest.java
+++ b/spring-quartz/src/test/java/org/baeldung/SpringContextIntegrationTest.java
@@ -1,16 +1,30 @@
package org.baeldung;
import org.baeldung.springquartz.SpringQuartzApp;
+import org.baeldung.springquartz.basics.service.SampleJobService;
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
+import static org.assertj.core.api.Assertions.assertThat;
+
@RunWith(SpringRunner.class)
@SpringBootTest(classes = SpringQuartzApp.class)
public class SpringContextIntegrationTest {
+ @Autowired
+ private SampleJobService sampleJobService;
+
@Test
public void whenSpringContextIsBootstrapped_thenNoExceptions() {
}
+
+ @Test
+ public void whenSchedulerStarts_thenJobsRun() throws InterruptedException {
+ assertThat(sampleJobService.getNumberOfInvocations()).isEqualTo(0);
+ Thread.sleep(SampleJobService.EXECUTION_TIME);
+ assertThat(sampleJobService.getNumberOfInvocations()).isEqualTo(1);
+ }
}
diff --git a/spring-quartz/src/test/java/org/baeldung/SpringContextTest.java b/spring-quartz/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..a210e847c8
--- /dev/null
+++ b/spring-quartz/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,16 @@
+package org.baeldung;
+
+import org.baeldung.springquartz.SpringQuartzApp;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = SpringQuartzApp.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-reactor/src/test/java/org/baeldung/SpringContextTest.java b/spring-reactor/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..5e68a8e64f
--- /dev/null
+++ b/spring-reactor/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.Application;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = Application.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-remoting/remoting-amqp/remoting-amqp-client/src/test/java/org/baeldung/SpringContextTest.java b/spring-remoting/remoting-amqp/remoting-amqp-client/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..fe20382ab4
--- /dev/null
+++ b/spring-remoting/remoting-amqp/remoting-amqp-client/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.client.AmqpClient;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = AmqpClient.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-remoting/remoting-hessian-burlap/remoting-hessian-burlap-client/src/test/java/org/baeldung/SpringContextTest.java b/spring-remoting/remoting-hessian-burlap/remoting-hessian-burlap-client/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..4325b0ddef
--- /dev/null
+++ b/spring-remoting/remoting-hessian-burlap/remoting-hessian-burlap-client/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,18 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.client.BurlapClient;
+import com.baeldung.client.HessianClient;
+
+@SpringBootTest(classes = {BurlapClient.class, HessianClient.class})
+@RunWith(SpringRunner.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-remoting/remoting-hessian-burlap/remoting-hessian-burlap-server/src/test/java/org/baeldung/SpringContextTest.java b/spring-remoting/remoting-hessian-burlap/remoting-hessian-burlap-server/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..e676bb0ff2
--- /dev/null
+++ b/spring-remoting/remoting-hessian-burlap/remoting-hessian-burlap-server/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.server.Server;
+
+@SpringBootTest(classes = Server.class)
+@RunWith(SpringRunner.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-remoting/remoting-http/remoting-http-server/src/test/java/org/baeldung/SpringContextTest.java b/spring-remoting/remoting-http/remoting-http-server/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..e676bb0ff2
--- /dev/null
+++ b/spring-remoting/remoting-http/remoting-http-server/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.server.Server;
+
+@SpringBootTest(classes = Server.class)
+@RunWith(SpringRunner.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-remoting/remoting-jms/remoting-jms-client/src/test/java/org/baeldung/SpringContextTest.java b/spring-remoting/remoting-jms/remoting-jms-client/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..95721b6eaa
--- /dev/null
+++ b/spring-remoting/remoting-jms/remoting-jms-client/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.client.JmsClient;
+
+@SpringBootTest(classes = JmsClient.class)
+@RunWith(SpringRunner.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-remoting/remoting-rmi/remoting-rmi-server/src/test/java/org/baeldung/SpringContextTest.java b/spring-remoting/remoting-rmi/remoting-rmi-server/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..6cae1b66fc
--- /dev/null
+++ b/spring-remoting/remoting-rmi/remoting-rmi-server/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.server.RmiServer;
+
+@SpringBootTest(classes = RmiServer.class)
+@RunWith(SpringRunner.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-rest-angular/src/test/java/org/baeldung/SpringContextTest.java b/spring-rest-angular/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..9136ce43eb
--- /dev/null
+++ b/spring-rest-angular/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,16 @@
+package org.baeldung;
+
+import org.baeldung.web.main.Application;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = Application.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-rest-full/src/test/java/org/baeldung/SpringContextTest.java b/spring-rest-full/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..8debddc40a
--- /dev/null
+++ b/spring-rest-full/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,16 @@
+package org.baeldung;
+
+import org.baeldung.spring.Application;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = Application.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-rest-query-language/src/test/java/com/baeldung/SpringContextTest.java b/spring-rest-query-language/src/test/java/com/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..57886a232a
--- /dev/null
+++ b/spring-rest-query-language/src/test/java/com/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package com.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.spring.Application;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = Application.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-rest-simple/src/main/java/org/baeldung/config/Application.java b/spring-rest-simple/src/main/java/com/baeldung/Application.java
similarity index 90%
rename from spring-rest-simple/src/main/java/org/baeldung/config/Application.java
rename to spring-rest-simple/src/main/java/com/baeldung/Application.java
index 5c9a186619..dc6bfcb970 100644
--- a/spring-rest-simple/src/main/java/org/baeldung/config/Application.java
+++ b/spring-rest-simple/src/main/java/com/baeldung/Application.java
@@ -1,4 +1,4 @@
-package org.baeldung.config;
+package com.baeldung;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
@@ -7,8 +7,8 @@ import org.springframework.boot.web.servlet.support.SpringBootServletInitializer
import org.springframework.context.annotation.ComponentScan;
@EnableAutoConfiguration
-@ComponentScan("org.baeldung")
@SpringBootApplication
+@ComponentScan("com.baeldung.cors")
public class Application extends SpringBootServletInitializer {
public static void main(final String[] args) {
diff --git a/spring-rest-simple/src/main/java/org/baeldung/config/WebConfig.java b/spring-rest-simple/src/main/java/com/baeldung/config/MvcConfig.java
similarity index 86%
rename from spring-rest-simple/src/main/java/org/baeldung/config/WebConfig.java
rename to spring-rest-simple/src/main/java/com/baeldung/config/MvcConfig.java
index 191b87a8f2..d169f7e9d4 100644
--- a/spring-rest-simple/src/main/java/org/baeldung/config/WebConfig.java
+++ b/spring-rest-simple/src/main/java/com/baeldung/config/MvcConfig.java
@@ -1,6 +1,5 @@
-package org.baeldung.config;
+package com.baeldung.config;
-import org.baeldung.config.converter.KryoHttpMessageConverter;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.MediaType;
@@ -13,9 +12,12 @@ import org.springframework.http.converter.xml.MappingJackson2XmlHttpMessageConve
import org.springframework.http.converter.xml.MarshallingHttpMessageConverter;
import org.springframework.oxm.xstream.XStreamMarshaller;
import org.springframework.web.servlet.config.annotation.ContentNegotiationConfigurer;
+import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+import com.baeldung.config.converter.KryoHttpMessageConverter;
+
import java.text.SimpleDateFormat;
import java.util.List;
@@ -24,10 +26,10 @@ import java.util.List;
*/
@Configuration
@EnableWebMvc
-@ComponentScan({ "org.baeldung.web" })
-public class WebConfig implements WebMvcConfigurer {
+@ComponentScan({ "com.baeldung.web" })
+public class MvcConfig implements WebMvcConfigurer {
- public WebConfig() {
+ public MvcConfig() {
super();
}
@@ -64,4 +66,10 @@ public class WebConfig implements WebMvcConfigurer {
public void configureContentNegotiation(ContentNegotiationConfigurer configurer) {
configurer.defaultContentType(MediaType.APPLICATION_JSON);
}
+
+
+ @Override
+ public void addCorsMappings(CorsRegistry registry) {
+ registry.addMapping("/**");
+ }
}
diff --git a/spring-rest-simple/src/main/java/org/baeldung/config/converter/KryoHttpMessageConverter.java b/spring-rest-simple/src/main/java/com/baeldung/config/converter/KryoHttpMessageConverter.java
similarity index 95%
rename from spring-rest-simple/src/main/java/org/baeldung/config/converter/KryoHttpMessageConverter.java
rename to spring-rest-simple/src/main/java/com/baeldung/config/converter/KryoHttpMessageConverter.java
index 6af54c379a..7ab8282350 100644
--- a/spring-rest-simple/src/main/java/org/baeldung/config/converter/KryoHttpMessageConverter.java
+++ b/spring-rest-simple/src/main/java/com/baeldung/config/converter/KryoHttpMessageConverter.java
@@ -1,13 +1,13 @@
-package org.baeldung.config.converter;
+package com.baeldung.config.converter;
import java.io.IOException;
-import org.baeldung.web.dto.Foo;
import org.springframework.http.HttpInputMessage;
import org.springframework.http.HttpOutputMessage;
import org.springframework.http.MediaType;
import org.springframework.http.converter.AbstractHttpMessageConverter;
+import com.baeldung.web.dto.Foo;
import com.esotericsoftware.kryo.Kryo;
import com.esotericsoftware.kryo.io.Input;
import com.esotericsoftware.kryo.io.Output;
diff --git a/spring-rest-simple/src/main/java/com/baeldung/cors/Account.java b/spring-rest-simple/src/main/java/com/baeldung/cors/Account.java
index dc6a541a46..429b0c102e 100644
--- a/spring-rest-simple/src/main/java/com/baeldung/cors/Account.java
+++ b/spring-rest-simple/src/main/java/com/baeldung/cors/Account.java
@@ -6,4 +6,13 @@ public class Account {
public Account(Long id) {
this.id = id;
}
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
}
diff --git a/spring-rest-simple/src/main/java/com/baeldung/cors/WebConfig.java b/spring-rest-simple/src/main/java/com/baeldung/cors/WebConfig.java
deleted file mode 100644
index dc579ce4ba..0000000000
--- a/spring-rest-simple/src/main/java/com/baeldung/cors/WebConfig.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.baeldung.cors;
-
-import org.springframework.context.annotation.Configuration;
-import org.springframework.web.servlet.config.annotation.CorsRegistry;
-import org.springframework.web.servlet.config.annotation.EnableWebMvc;
-import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
-
-@Configuration
-@EnableWebMvc
-public class WebConfig implements WebMvcConfigurer {
-
- @Override
- public void addCorsMappings(CorsRegistry registry) {
- registry.addMapping("/**");
- }
-}
\ No newline at end of file
diff --git a/spring-rest-simple/src/main/java/org/baeldung/web/controller/BarMappingExamplesController.java b/spring-rest-simple/src/main/java/com/baeldung/web/controller/BarMappingExamplesController.java
similarity index 97%
rename from spring-rest-simple/src/main/java/org/baeldung/web/controller/BarMappingExamplesController.java
rename to spring-rest-simple/src/main/java/com/baeldung/web/controller/BarMappingExamplesController.java
index 1c3a1086ca..3611a4e6cc 100644
--- a/spring-rest-simple/src/main/java/org/baeldung/web/controller/BarMappingExamplesController.java
+++ b/spring-rest-simple/src/main/java/com/baeldung/web/controller/BarMappingExamplesController.java
@@ -1,4 +1,4 @@
-package org.baeldung.web.controller;
+package com.baeldung.web.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
diff --git a/spring-rest-simple/src/main/java/org/baeldung/web/controller/BazzNewMappingsExampleController.java b/spring-rest-simple/src/main/java/com/baeldung/web/controller/BazzNewMappingsExampleController.java
similarity index 96%
rename from spring-rest-simple/src/main/java/org/baeldung/web/controller/BazzNewMappingsExampleController.java
rename to spring-rest-simple/src/main/java/com/baeldung/web/controller/BazzNewMappingsExampleController.java
index 4bcafc04fc..6c7da0296f 100644
--- a/spring-rest-simple/src/main/java/org/baeldung/web/controller/BazzNewMappingsExampleController.java
+++ b/spring-rest-simple/src/main/java/com/baeldung/web/controller/BazzNewMappingsExampleController.java
@@ -1,9 +1,8 @@
-package org.baeldung.web.controller;
+package com.baeldung.web.controller;
import java.util.Arrays;
import java.util.List;
-import org.baeldung.web.dto.Bazz;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.DeleteMapping;
@@ -15,6 +14,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
+import com.baeldung.web.dto.Bazz;
import com.fasterxml.jackson.core.JsonProcessingException;
@RestController
diff --git a/spring-rest-simple/src/main/java/org/baeldung/web/controller/FooController.java b/spring-rest-simple/src/main/java/com/baeldung/web/controller/FooController.java
similarity index 96%
rename from spring-rest-simple/src/main/java/org/baeldung/web/controller/FooController.java
rename to spring-rest-simple/src/main/java/com/baeldung/web/controller/FooController.java
index c68d586667..bab315c027 100644
--- a/spring-rest-simple/src/main/java/org/baeldung/web/controller/FooController.java
+++ b/spring-rest-simple/src/main/java/com/baeldung/web/controller/FooController.java
@@ -1,11 +1,9 @@
-package org.baeldung.web.controller;
+package com.baeldung.web.controller;
import static org.apache.commons.lang3.RandomStringUtils.randomAlphabetic;
import java.util.List;
-import org.baeldung.web.dto.Foo;
-import org.baeldung.web.dto.FooProtos;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
@@ -16,6 +14,8 @@ import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.ResponseStatus;
+import com.baeldung.web.dto.Foo;
+import com.baeldung.web.dto.FooProtos;
import com.google.common.collect.Lists;
@Controller
diff --git a/spring-rest-simple/src/main/java/org/baeldung/web/controller/FooMappingExamplesController.java b/spring-rest-simple/src/main/java/com/baeldung/web/controller/FooMappingExamplesController.java
similarity index 98%
rename from spring-rest-simple/src/main/java/org/baeldung/web/controller/FooMappingExamplesController.java
rename to spring-rest-simple/src/main/java/com/baeldung/web/controller/FooMappingExamplesController.java
index 5fb92d6d87..ec75e4c859 100644
--- a/spring-rest-simple/src/main/java/org/baeldung/web/controller/FooMappingExamplesController.java
+++ b/spring-rest-simple/src/main/java/com/baeldung/web/controller/FooMappingExamplesController.java
@@ -1,4 +1,4 @@
-package org.baeldung.web.controller;
+package com.baeldung.web.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
diff --git a/spring-rest-simple/src/main/java/org/baeldung/web/controller/status/ExampleController.java b/spring-rest-simple/src/main/java/com/baeldung/web/controller/status/ExampleController.java
similarity index 94%
rename from spring-rest-simple/src/main/java/org/baeldung/web/controller/status/ExampleController.java
rename to spring-rest-simple/src/main/java/com/baeldung/web/controller/status/ExampleController.java
index ceda138768..0cc657f0f2 100644
--- a/spring-rest-simple/src/main/java/org/baeldung/web/controller/status/ExampleController.java
+++ b/spring-rest-simple/src/main/java/com/baeldung/web/controller/status/ExampleController.java
@@ -1,4 +1,4 @@
-package org.baeldung.web.controller.status;
+package com.baeldung.web.controller.status;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
diff --git a/spring-rest-simple/src/main/java/org/baeldung/web/controller/status/ForbiddenException.java b/spring-rest-simple/src/main/java/com/baeldung/web/controller/status/ForbiddenException.java
similarity index 88%
rename from spring-rest-simple/src/main/java/org/baeldung/web/controller/status/ForbiddenException.java
rename to spring-rest-simple/src/main/java/com/baeldung/web/controller/status/ForbiddenException.java
index 458bdaf170..301a25d070 100644
--- a/spring-rest-simple/src/main/java/org/baeldung/web/controller/status/ForbiddenException.java
+++ b/spring-rest-simple/src/main/java/com/baeldung/web/controller/status/ForbiddenException.java
@@ -1,4 +1,4 @@
-package org.baeldung.web.controller.status;
+package com.baeldung.web.controller.status;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/spring-rest-simple/src/main/java/org/baeldung/web/dto/Bazz.java b/spring-rest-simple/src/main/java/com/baeldung/web/dto/Bazz.java
similarity index 91%
rename from spring-rest-simple/src/main/java/org/baeldung/web/dto/Bazz.java
rename to spring-rest-simple/src/main/java/com/baeldung/web/dto/Bazz.java
index d9a495b726..861b4009b5 100644
--- a/spring-rest-simple/src/main/java/org/baeldung/web/dto/Bazz.java
+++ b/spring-rest-simple/src/main/java/com/baeldung/web/dto/Bazz.java
@@ -1,4 +1,4 @@
-package org.baeldung.web.dto;
+package com.baeldung.web.dto;
public class Bazz {
diff --git a/spring-rest-simple/src/main/java/org/baeldung/web/dto/Foo.java b/spring-rest-simple/src/main/java/com/baeldung/web/dto/Foo.java
similarity index 95%
rename from spring-rest-simple/src/main/java/org/baeldung/web/dto/Foo.java
rename to spring-rest-simple/src/main/java/com/baeldung/web/dto/Foo.java
index 240b368b50..5a54539927 100644
--- a/spring-rest-simple/src/main/java/org/baeldung/web/dto/Foo.java
+++ b/spring-rest-simple/src/main/java/com/baeldung/web/dto/Foo.java
@@ -1,4 +1,4 @@
-package org.baeldung.web.dto;
+package com.baeldung.web.dto;
import com.thoughtworks.xstream.annotations.XStreamAlias;
diff --git a/spring-rest-simple/src/main/java/org/baeldung/web/dto/FooProtos.java b/spring-rest-simple/src/main/java/com/baeldung/web/dto/FooProtos.java
similarity index 90%
rename from spring-rest-simple/src/main/java/org/baeldung/web/dto/FooProtos.java
rename to spring-rest-simple/src/main/java/com/baeldung/web/dto/FooProtos.java
index 8ca96c38fc..db7cb66f87 100644
--- a/spring-rest-simple/src/main/java/org/baeldung/web/dto/FooProtos.java
+++ b/spring-rest-simple/src/main/java/com/baeldung/web/dto/FooProtos.java
@@ -1,7 +1,7 @@
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: FooProtos.proto
-package org.baeldung.web.dto;
+package com.baeldung.web.dto;
public final class FooProtos {
private FooProtos() {
@@ -115,11 +115,11 @@ public final class FooProtos {
}
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
- return org.baeldung.web.dto.FooProtos.internal_static_baeldung_Foo_descriptor;
+ return com.baeldung.web.dto.FooProtos.internal_static_baeldung_Foo_descriptor;
}
protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() {
- return org.baeldung.web.dto.FooProtos.internal_static_baeldung_Foo_fieldAccessorTable.ensureFieldAccessorsInitialized(org.baeldung.web.dto.FooProtos.Foo.class, org.baeldung.web.dto.FooProtos.Foo.Builder.class);
+ return com.baeldung.web.dto.FooProtos.internal_static_baeldung_Foo_fieldAccessorTable.ensureFieldAccessorsInitialized(com.baeldung.web.dto.FooProtos.Foo.class, com.baeldung.web.dto.FooProtos.Foo.Builder.class);
}
public static com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() {
@@ -255,43 +255,43 @@ public final class FooProtos {
return super.writeReplace();
}
- public static org.baeldung.web.dto.FooProtos.Foo parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException {
+ public static com.baeldung.web.dto.FooProtos.Foo parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
- public static org.baeldung.web.dto.FooProtos.Foo parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+ public static com.baeldung.web.dto.FooProtos.Foo parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
- public static org.baeldung.web.dto.FooProtos.Foo parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException {
+ public static com.baeldung.web.dto.FooProtos.Foo parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
- public static org.baeldung.web.dto.FooProtos.Foo parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+ public static com.baeldung.web.dto.FooProtos.Foo parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
- public static org.baeldung.web.dto.FooProtos.Foo parseFrom(java.io.InputStream input) throws java.io.IOException {
+ public static com.baeldung.web.dto.FooProtos.Foo parseFrom(java.io.InputStream input) throws java.io.IOException {
return PARSER.parseFrom(input);
}
- public static org.baeldung.web.dto.FooProtos.Foo parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
+ public static com.baeldung.web.dto.FooProtos.Foo parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
return PARSER.parseFrom(input, extensionRegistry);
}
- public static org.baeldung.web.dto.FooProtos.Foo parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException {
+ public static com.baeldung.web.dto.FooProtos.Foo parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException {
return PARSER.parseDelimitedFrom(input);
}
- public static org.baeldung.web.dto.FooProtos.Foo parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
+ public static com.baeldung.web.dto.FooProtos.Foo parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
return PARSER.parseDelimitedFrom(input, extensionRegistry);
}
- public static org.baeldung.web.dto.FooProtos.Foo parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException {
+ public static com.baeldung.web.dto.FooProtos.Foo parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException {
return PARSER.parseFrom(input);
}
- public static org.baeldung.web.dto.FooProtos.Foo parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
+ public static com.baeldung.web.dto.FooProtos.Foo parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
return PARSER.parseFrom(input, extensionRegistry);
}
@@ -303,7 +303,7 @@ public final class FooProtos {
return newBuilder();
}
- public static Builder newBuilder(org.baeldung.web.dto.FooProtos.Foo prototype) {
+ public static Builder newBuilder(com.baeldung.web.dto.FooProtos.Foo prototype) {
return newBuilder().mergeFrom(prototype);
}
@@ -322,13 +322,13 @@ public final class FooProtos {
*/
public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder implements
// @@protoc_insertion_point(builder_implements:baeldung.Foo)
- org.baeldung.web.dto.FooProtos.FooOrBuilder {
+ com.baeldung.web.dto.FooProtos.FooOrBuilder {
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
- return org.baeldung.web.dto.FooProtos.internal_static_baeldung_Foo_descriptor;
+ return com.baeldung.web.dto.FooProtos.internal_static_baeldung_Foo_descriptor;
}
protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() {
- return org.baeldung.web.dto.FooProtos.internal_static_baeldung_Foo_fieldAccessorTable.ensureFieldAccessorsInitialized(org.baeldung.web.dto.FooProtos.Foo.class, org.baeldung.web.dto.FooProtos.Foo.Builder.class);
+ return com.baeldung.web.dto.FooProtos.internal_static_baeldung_Foo_fieldAccessorTable.ensureFieldAccessorsInitialized(com.baeldung.web.dto.FooProtos.Foo.class, com.baeldung.web.dto.FooProtos.Foo.Builder.class);
}
// Construct using org.baeldung.web.dto.FooProtos.Foo.newBuilder()
@@ -364,23 +364,23 @@ public final class FooProtos {
}
public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
- return org.baeldung.web.dto.FooProtos.internal_static_baeldung_Foo_descriptor;
+ return com.baeldung.web.dto.FooProtos.internal_static_baeldung_Foo_descriptor;
}
- public org.baeldung.web.dto.FooProtos.Foo getDefaultInstanceForType() {
- return org.baeldung.web.dto.FooProtos.Foo.getDefaultInstance();
+ public com.baeldung.web.dto.FooProtos.Foo getDefaultInstanceForType() {
+ return com.baeldung.web.dto.FooProtos.Foo.getDefaultInstance();
}
- public org.baeldung.web.dto.FooProtos.Foo build() {
- org.baeldung.web.dto.FooProtos.Foo result = buildPartial();
+ public com.baeldung.web.dto.FooProtos.Foo build() {
+ com.baeldung.web.dto.FooProtos.Foo result = buildPartial();
if (!result.isInitialized()) {
throw newUninitializedMessageException(result);
}
return result;
}
- public org.baeldung.web.dto.FooProtos.Foo buildPartial() {
- org.baeldung.web.dto.FooProtos.Foo result = new org.baeldung.web.dto.FooProtos.Foo(this);
+ public com.baeldung.web.dto.FooProtos.Foo buildPartial() {
+ com.baeldung.web.dto.FooProtos.Foo result = new com.baeldung.web.dto.FooProtos.Foo(this);
int from_bitField0_ = bitField0_;
int to_bitField0_ = 0;
if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
@@ -397,16 +397,16 @@ public final class FooProtos {
}
public Builder mergeFrom(com.google.protobuf.Message other) {
- if (other instanceof org.baeldung.web.dto.FooProtos.Foo) {
- return mergeFrom((org.baeldung.web.dto.FooProtos.Foo) other);
+ if (other instanceof com.baeldung.web.dto.FooProtos.Foo) {
+ return mergeFrom((com.baeldung.web.dto.FooProtos.Foo) other);
} else {
super.mergeFrom(other);
return this;
}
}
- public Builder mergeFrom(org.baeldung.web.dto.FooProtos.Foo other) {
- if (other == org.baeldung.web.dto.FooProtos.Foo.getDefaultInstance())
+ public Builder mergeFrom(com.baeldung.web.dto.FooProtos.Foo other) {
+ if (other == com.baeldung.web.dto.FooProtos.Foo.getDefaultInstance())
return this;
if (other.hasId()) {
setId(other.getId());
@@ -433,11 +433,11 @@ public final class FooProtos {
}
public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
- org.baeldung.web.dto.FooProtos.Foo parsedMessage = null;
+ com.baeldung.web.dto.FooProtos.Foo parsedMessage = null;
try {
parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
} catch (com.google.protobuf.InvalidProtocolBufferException e) {
- parsedMessage = (org.baeldung.web.dto.FooProtos.Foo) e.getUnfinishedMessage();
+ parsedMessage = (com.baeldung.web.dto.FooProtos.Foo) e.getUnfinishedMessage();
throw e;
} finally {
if (parsedMessage != null) {
diff --git a/spring-rest-simple/src/main/java/org/baeldung/web/util/LinkUtil.java b/spring-rest-simple/src/main/java/com/baeldung/web/util/LinkUtil.java
similarity index 96%
rename from spring-rest-simple/src/main/java/org/baeldung/web/util/LinkUtil.java
rename to spring-rest-simple/src/main/java/com/baeldung/web/util/LinkUtil.java
index b2137aeeff..3ebba8ae1c 100644
--- a/spring-rest-simple/src/main/java/org/baeldung/web/util/LinkUtil.java
+++ b/spring-rest-simple/src/main/java/com/baeldung/web/util/LinkUtil.java
@@ -1,4 +1,4 @@
-package org.baeldung.web.util;
+package com.baeldung.web.util;
import javax.servlet.http.HttpServletResponse;
diff --git a/spring-rest-simple/src/main/webapp/WEB-INF/spring-web-config.xml b/spring-rest-simple/src/main/webapp/WEB-INF/spring-web-config.xml
index 07d50ae1d6..e83e13be71 100644
--- a/spring-rest-simple/src/main/webapp/WEB-INF/spring-web-config.xml
+++ b/spring-rest-simple/src/main/webapp/WEB-INF/spring-web-config.xml
@@ -2,9 +2,9 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans
- http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
+ http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/mvc
- http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd">
+ http://www.springframework.org/schema/mvc/spring-mvc.xsd">
diff --git a/spring-rest-simple/src/test/java/com/baeldung/SpringContextIntegrationTest.java b/spring-rest-simple/src/test/java/com/baeldung/SpringContextIntegrationTest.java
new file mode 100644
index 0000000000..b66e642b80
--- /dev/null
+++ b/spring-rest-simple/src/test/java/com/baeldung/SpringContextIntegrationTest.java
@@ -0,0 +1,15 @@
+package com.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = Application.class)
+public class SpringContextIntegrationTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-rest-simple/src/test/java/org/baeldung/web/controller/mediatypes/TestConfig.java b/spring-rest-simple/src/test/java/com/baeldung/web/controller/mediatypes/TestConfig.java
similarity index 66%
rename from spring-rest-simple/src/test/java/org/baeldung/web/controller/mediatypes/TestConfig.java
rename to spring-rest-simple/src/test/java/com/baeldung/web/controller/mediatypes/TestConfig.java
index 66ffe4947d..4bbfa2818e 100644
--- a/spring-rest-simple/src/test/java/org/baeldung/web/controller/mediatypes/TestConfig.java
+++ b/spring-rest-simple/src/test/java/com/baeldung/web/controller/mediatypes/TestConfig.java
@@ -1,11 +1,11 @@
-package org.baeldung.web.controller.mediatypes;
+package com.baeldung.web.controller.mediatypes;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
@Configuration
-@ComponentScan({ "org.baeldung.web" })
+@ComponentScan({ "com.baeldung.web" })
public class TestConfig {
}
diff --git a/spring-rest-simple/src/test/java/org/baeldung/web/controller/status/ExampleControllerIntegrationTest.java b/spring-rest-simple/src/test/java/com/baeldung/web/controller/status/ExampleControllerIntegrationTest.java
similarity index 92%
rename from spring-rest-simple/src/test/java/org/baeldung/web/controller/status/ExampleControllerIntegrationTest.java
rename to spring-rest-simple/src/test/java/com/baeldung/web/controller/status/ExampleControllerIntegrationTest.java
index 7f78146b84..d1ae7f65c6 100644
--- a/spring-rest-simple/src/test/java/org/baeldung/web/controller/status/ExampleControllerIntegrationTest.java
+++ b/spring-rest-simple/src/test/java/com/baeldung/web/controller/status/ExampleControllerIntegrationTest.java
@@ -1,9 +1,7 @@
-package org.baeldung.web.controller.status;
+package com.baeldung.web.controller.status;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
-
-import org.baeldung.config.WebConfig;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -16,8 +14,10 @@ import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
import org.springframework.web.context.WebApplicationContext;
+import com.baeldung.config.MvcConfig;
+
@RunWith(SpringJUnit4ClassRunner.class)
-@ContextConfiguration(classes = WebConfig.class)
+@ContextConfiguration(classes = MvcConfig.class)
@WebAppConfiguration
@AutoConfigureWebClient
public class ExampleControllerIntegrationTest {
diff --git a/spring-rest-simple/src/test/java/org/baeldung/web/test/BazzNewMappingsExampleIntegrationTest.java b/spring-rest-simple/src/test/java/com/baeldung/web/test/BazzNewMappingsExampleIntegrationTest.java
similarity index 96%
rename from spring-rest-simple/src/test/java/org/baeldung/web/test/BazzNewMappingsExampleIntegrationTest.java
rename to spring-rest-simple/src/test/java/com/baeldung/web/test/BazzNewMappingsExampleIntegrationTest.java
index dfb3ff7a38..4f0395e914 100644
--- a/spring-rest-simple/src/test/java/org/baeldung/web/test/BazzNewMappingsExampleIntegrationTest.java
+++ b/spring-rest-simple/src/test/java/com/baeldung/web/test/BazzNewMappingsExampleIntegrationTest.java
@@ -1,5 +1,5 @@
-package org.baeldung.web.test;
+package com.baeldung.web.test;
import static org.hamcrest.Matchers.hasSize;
import static org.hamcrest.Matchers.is;
@@ -9,8 +9,6 @@ import static org.springframework.test.web.servlet.request.MockMvcRequestBuilder
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.put;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
-
-import org.baeldung.config.WebConfig;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -23,9 +21,11 @@ import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
import org.springframework.web.context.WebApplicationContext;
+import com.baeldung.config.MvcConfig;
+
@RunWith(SpringJUnit4ClassRunner.class)
-@ContextConfiguration(classes = WebConfig.class)
+@ContextConfiguration(classes = MvcConfig.class)
@WebAppConfiguration
@AutoConfigureWebClient
public class BazzNewMappingsExampleIntegrationTest {
diff --git a/spring-rest-simple/src/test/java/org/baeldung/web/test/RequestMappingLiveTest.java b/spring-rest-simple/src/test/java/com/baeldung/web/test/RequestMappingLiveTest.java
similarity index 99%
rename from spring-rest-simple/src/test/java/org/baeldung/web/test/RequestMappingLiveTest.java
rename to spring-rest-simple/src/test/java/com/baeldung/web/test/RequestMappingLiveTest.java
index 9dd6b13f18..f26f241beb 100644
--- a/spring-rest-simple/src/test/java/org/baeldung/web/test/RequestMappingLiveTest.java
+++ b/spring-rest-simple/src/test/java/com/baeldung/web/test/RequestMappingLiveTest.java
@@ -1,4 +1,4 @@
-package org.baeldung.web.test;
+package com.baeldung.web.test;
import static org.hamcrest.Matchers.containsString;
import static org.hamcrest.Matchers.equalTo;
diff --git a/spring-rest-simple/src/test/java/org/baeldung/web/test/RestTemplateBasicLiveTest.java b/spring-rest-simple/src/test/java/com/baeldung/web/test/RestTemplateBasicLiveTest.java
similarity index 99%
rename from spring-rest-simple/src/test/java/org/baeldung/web/test/RestTemplateBasicLiveTest.java
rename to spring-rest-simple/src/test/java/com/baeldung/web/test/RestTemplateBasicLiveTest.java
index e213d0255f..51e3fb097e 100644
--- a/spring-rest-simple/src/test/java/org/baeldung/web/test/RestTemplateBasicLiveTest.java
+++ b/spring-rest-simple/src/test/java/com/baeldung/web/test/RestTemplateBasicLiveTest.java
@@ -1,4 +1,4 @@
-package org.baeldung.web.test;
+package com.baeldung.web.test;
import static org.apache.commons.codec.binary.Base64.encodeBase64;
import static org.hamcrest.CoreMatchers.equalTo;
@@ -13,7 +13,6 @@ import java.net.URI;
import java.util.Arrays;
import java.util.Set;
-import org.baeldung.web.dto.Foo;
import org.junit.Before;
import org.junit.Test;
import org.springframework.http.HttpEntity;
@@ -31,6 +30,7 @@ import org.springframework.web.client.HttpClientErrorException;
import org.springframework.web.client.RequestCallback;
import org.springframework.web.client.RestTemplate;
+import com.baeldung.web.dto.Foo;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.dataformat.xml.XmlMapper;
diff --git a/spring-rest-simple/src/test/java/org/baeldung/web/test/SpringHttpMessageConvertersLiveTest.java b/spring-rest-simple/src/test/java/com/baeldung/web/test/SpringHttpMessageConvertersLiveTest.java
similarity index 96%
rename from spring-rest-simple/src/test/java/org/baeldung/web/test/SpringHttpMessageConvertersLiveTest.java
rename to spring-rest-simple/src/test/java/com/baeldung/web/test/SpringHttpMessageConvertersLiveTest.java
index 7f250653ab..c6929da818 100644
--- a/spring-rest-simple/src/test/java/org/baeldung/web/test/SpringHttpMessageConvertersLiveTest.java
+++ b/spring-rest-simple/src/test/java/com/baeldung/web/test/SpringHttpMessageConvertersLiveTest.java
@@ -1,13 +1,10 @@
-package org.baeldung.web.test;
+package com.baeldung.web.test;
import static org.hamcrest.Matchers.notNullValue;
import static org.junit.Assert.assertThat;
import java.util.Arrays;
-import org.baeldung.config.converter.KryoHttpMessageConverter;
-import org.baeldung.web.dto.Foo;
-import org.baeldung.web.dto.FooProtos;
import org.junit.Assert;
import org.junit.Test;
import org.springframework.http.HttpEntity;
@@ -18,6 +15,10 @@ import org.springframework.http.ResponseEntity;
import org.springframework.http.converter.protobuf.ProtobufHttpMessageConverter;
import org.springframework.web.client.RestTemplate;
+import com.baeldung.config.converter.KryoHttpMessageConverter;
+import com.baeldung.web.dto.Foo;
+import com.baeldung.web.dto.FooProtos;
+
/**
* Integration Test class. Tests methods hits the server's rest services.
*/
diff --git a/spring-rest-simple/src/test/java/org/baeldung/web/test/TestRestTemplateBasicLiveTest.java b/spring-rest-simple/src/test/java/com/baeldung/web/test/TestRestTemplateBasicLiveTest.java
similarity index 99%
rename from spring-rest-simple/src/test/java/org/baeldung/web/test/TestRestTemplateBasicLiveTest.java
rename to spring-rest-simple/src/test/java/com/baeldung/web/test/TestRestTemplateBasicLiveTest.java
index b920ed38da..49ac651da2 100644
--- a/spring-rest-simple/src/test/java/org/baeldung/web/test/TestRestTemplateBasicLiveTest.java
+++ b/spring-rest-simple/src/test/java/com/baeldung/web/test/TestRestTemplateBasicLiveTest.java
@@ -1,4 +1,4 @@
-package org.baeldung.web.test;
+package com.baeldung.web.test;
import static org.hamcrest.CoreMatchers.equalTo;
import static org.hamcrest.MatcherAssert.assertThat;
diff --git a/spring-rest-simple/src/test/java/org/baeldung/web/util/HTTPLinkHeaderUtil.java b/spring-rest-simple/src/test/java/com/baeldung/web/util/HTTPLinkHeaderUtil.java
similarity index 98%
rename from spring-rest-simple/src/test/java/org/baeldung/web/util/HTTPLinkHeaderUtil.java
rename to spring-rest-simple/src/test/java/com/baeldung/web/util/HTTPLinkHeaderUtil.java
index bb3919eacc..86b35d2b4e 100644
--- a/spring-rest-simple/src/test/java/org/baeldung/web/util/HTTPLinkHeaderUtil.java
+++ b/spring-rest-simple/src/test/java/com/baeldung/web/util/HTTPLinkHeaderUtil.java
@@ -1,4 +1,4 @@
-package org.baeldung.web.util;
+package com.baeldung.web.util;
import java.util.List;
diff --git a/spring-rest-simple/src/test/java/org/baeldung/SpringContextTest.java b/spring-rest-simple/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..5e68a8e64f
--- /dev/null
+++ b/spring-rest-simple/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.Application;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = Application.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-rest/src/test/java/com/baeldung/SpringContextTest.java b/spring-rest/src/test/java/com/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..4b2024e207
--- /dev/null
+++ b/spring-rest/src/test/java/com/baeldung/SpringContextTest.java
@@ -0,0 +1,24 @@
+package com.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.custom.CustomApplication;
+import com.baeldung.produceimage.ImageApplication;
+import com.baeldung.propertyeditor.PropertyEditorApplication;
+import com.baeldung.responseheaders.ResponseHeadersApplication;
+import com.baeldung.sampleapp.config.MainApplication;
+import com.baeldung.web.log.app.Application;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = { CustomApplication.class, ImageApplication.class, PropertyEditorApplication.class,
+ ResponseHeadersApplication.class, Application.class, com.baeldung.web.upload.app.UploadApplication.class,
+ MainApplication.class})
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-resttemplate/src/test/java/org/baeldung/SpringContextTest.java b/spring-resttemplate/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..e52d249f0b
--- /dev/null
+++ b/spring-resttemplate/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,16 @@
+package org.baeldung;
+
+import org.baeldung.resttemplate.RestTemplateConfigurationApplication;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = RestTemplateConfigurationApplication.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-resttemplate/src/test/java/org/baeldung/client/RestTemplateBasicLiveTest.java b/spring-resttemplate/src/test/java/org/baeldung/client/RestTemplateBasicLiveTest.java
index a54c124d5f..ff3034a50d 100644
--- a/spring-resttemplate/src/test/java/org/baeldung/client/RestTemplateBasicLiveTest.java
+++ b/spring-resttemplate/src/test/java/org/baeldung/client/RestTemplateBasicLiveTest.java
@@ -188,7 +188,7 @@ public class RestTemplateBasicLiveTest {
final String resourceUrl = fooResourceUrl + '/' + createResponse.getBody()
.getId();
final HttpEntity requestUpdate = new HttpEntity<>(updatedResource, headers);
- final ClientHttpRequestFactory requestFactory = getSimpleClientHttpRequestFactory();
+ final ClientHttpRequestFactory requestFactory = getClientHttpRequestFactory();
final RestTemplate template = new RestTemplate(requestFactory);
template.setMessageConverters(Arrays.asList(new MappingJackson2HttpMessageConverter()));
template.patchForObject(resourceUrl, requestUpdate, Void.class);
@@ -262,7 +262,7 @@ public class RestTemplateBasicLiveTest {
// Simply setting restTemplate timeout using ClientHttpRequestFactory
- ClientHttpRequestFactory getSimpleClientHttpRequestFactory() {
+ ClientHttpRequestFactory getClientHttpRequestFactory() {
final int timeout = 5;
final HttpComponentsClientHttpRequestFactory clientHttpRequestFactory = new HttpComponentsClientHttpRequestFactory();
clientHttpRequestFactory.setConnectTimeout(timeout * 1000);
diff --git a/spring-security-acl/src/test/java/org/baeldung/SpringContextTest.java b/spring-security-acl/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..74f26e2e5a
--- /dev/null
+++ b/spring-security-acl/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,16 @@
+package org.baeldung;
+
+import org.baeldung.acl.Application;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = Application.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-security-angular/README.md b/spring-security-angular/README.md
index 49cd8dd62d..80312c4bab 100644
--- a/spring-security-angular/README.md
+++ b/spring-security-angular/README.md
@@ -1,3 +1,2 @@
### Relevant Articles:
- [Spring Security Login Page with Angular](https://www.baeldung.com/spring-security-login-angular)
-- [Fixing 401s with CORS Preflights and Spring Security](https://www.baeldung.com/spring-security-cors-preflight)
diff --git a/spring-security-angular/server/src/test/java/org/baeldung/SpringContextTest.java b/spring-security-angular/server/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..e61d512bca
--- /dev/null
+++ b/spring-security-angular/server/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.springbootsecurityrest.basicauth.SpringBootSecurityApplication;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = SpringBootSecurityApplication.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-security-cache-control/src/test/java/org/baeldung/SpringContextTest.java b/spring-security-cache-control/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..8fbaa7169b
--- /dev/null
+++ b/spring-security-cache-control/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.cachecontrol.AppRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = AppRunner.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-rest-simple/src/test/java/org/baeldung/SpringContextIntegrationTest.java b/spring-security-client/spring-security-jsp-authentication/src/test/java/org/baeldung/SpringContextTest.java
similarity index 90%
rename from spring-rest-simple/src/test/java/org/baeldung/SpringContextIntegrationTest.java
rename to spring-security-client/spring-security-jsp-authentication/src/test/java/org/baeldung/SpringContextTest.java
index 66243ef00d..0afb3899db 100644
--- a/spring-rest-simple/src/test/java/org/baeldung/SpringContextIntegrationTest.java
+++ b/spring-security-client/spring-security-jsp-authentication/src/test/java/org/baeldung/SpringContextTest.java
@@ -8,7 +8,7 @@ import org.springframework.test.context.junit4.SpringRunner;
@RunWith(SpringRunner.class)
@SpringBootTest(classes = Application.class)
-public class SpringContextIntegrationTest {
+public class SpringContextTest {
@Test
public void whenSpringContextIsBootstrapped_thenNoExceptions() {
diff --git a/spring-security-client/spring-security-jsp-authorize/src/test/java/org/baeldung/SpringContextTest.java b/spring-security-client/spring-security-jsp-authorize/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..0afb3899db
--- /dev/null
+++ b/spring-security-client/spring-security-jsp-authorize/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,16 @@
+package org.baeldung;
+
+import org.baeldung.config.Application;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = Application.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-security-client/spring-security-jsp-config/src/test/java/org/baeldung/SpringContextTest.java b/spring-security-client/spring-security-jsp-config/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..0afb3899db
--- /dev/null
+++ b/spring-security-client/spring-security-jsp-config/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,16 @@
+package org.baeldung;
+
+import org.baeldung.config.Application;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = Application.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-security-client/spring-security-mvc/src/test/java/org/baeldung/SpringContextTest.java b/spring-security-client/spring-security-mvc/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..0afb3899db
--- /dev/null
+++ b/spring-security-client/spring-security-mvc/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,16 @@
+package org.baeldung;
+
+import org.baeldung.config.Application;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = Application.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-security-client/spring-security-thymeleaf-authentication/src/test/java/org/baeldung/SpringContextTest.java b/spring-security-client/spring-security-thymeleaf-authentication/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..0afb3899db
--- /dev/null
+++ b/spring-security-client/spring-security-thymeleaf-authentication/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,16 @@
+package org.baeldung;
+
+import org.baeldung.config.Application;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = Application.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-security-client/spring-security-thymeleaf-authorize/src/test/java/org/baeldung/SpringContextTest.java b/spring-security-client/spring-security-thymeleaf-authorize/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..0afb3899db
--- /dev/null
+++ b/spring-security-client/spring-security-thymeleaf-authorize/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,16 @@
+package org.baeldung;
+
+import org.baeldung.config.Application;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = Application.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-security-client/spring-security-thymeleaf-config/src/test/java/org/baeldung/SpringContextTest.java b/spring-security-client/spring-security-thymeleaf-config/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..0afb3899db
--- /dev/null
+++ b/spring-security-client/spring-security-thymeleaf-config/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,16 @@
+package org.baeldung;
+
+import org.baeldung.config.Application;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = Application.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-security-core/src/test/java/org/baeldung/SpringContextTest.java b/spring-security-core/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..1707c706ae
--- /dev/null
+++ b/spring-security-core/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,16 @@
+package org.baeldung;
+
+import org.baeldung.app.App;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = App.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-security-core/src/test/java/org/baeldung/methodsecurity/TestMethodSecurity.java b/spring-security-core/src/test/java/org/baeldung/methodsecurity/TestMethodSecurity.java
index 309ee3076d..009d9af9fc 100644
--- a/spring-security-core/src/test/java/org/baeldung/methodsecurity/TestMethodSecurity.java
+++ b/spring-security-core/src/test/java/org/baeldung/methodsecurity/TestMethodSecurity.java
@@ -80,7 +80,7 @@ public class TestMethodSecurity {
@Test
@WithMockUser(username = "JOHN", authorities = { "SYS_ADMIN" })
- public void givenAuthoritySysAdmin_whenCallGetUsernameInLowerCase_thenReturnUsername() {
+ public void givenAuthoritySysAdmin_whenCallGetUsernameLC_thenReturnUsername() {
String username = userRoleService.getUsernameLC();
assertEquals("john", username);
}
diff --git a/spring-security-mvc-boot/src/test/java/org/baeldung/SpringContextTest.java b/spring-security-mvc-boot/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..2041249b71
--- /dev/null
+++ b/spring-security-mvc-boot/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,16 @@
+package org.baeldung;
+
+import org.baeldung.custom.Application;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = Application.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-security-mvc-custom/src/test/java/org/baeldung/SpringContextTest.java b/spring-security-mvc-custom/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..5ee80d856a
--- /dev/null
+++ b/spring-security-mvc-custom/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,19 @@
+package org.baeldung;
+
+import org.baeldung.spring.MvcConfig;
+import org.baeldung.spring.SecSecurityConfig;
+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.web.WebAppConfiguration;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(classes = { MvcConfig.class, SecSecurityConfig.class })
+@WebAppConfiguration
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-security-mvc-digest-auth/src/test/java/org/baeldung/SpringContextTest.java b/spring-security-mvc-digest-auth/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..cd2b796308
--- /dev/null
+++ b/spring-security-mvc-digest-auth/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,20 @@
+package org.baeldung;
+
+import org.baeldung.spring.ClientConfig;
+import org.baeldung.spring.MvcConfig;
+import org.baeldung.spring.SecSecurityConfig;
+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.web.WebAppConfiguration;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(classes = { ClientConfig.class, MvcConfig.class, SecSecurityConfig.class })
+@WebAppConfiguration
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-security-mvc-jsonview/src/test/java/com/baeldung/SpringContextTest.java b/spring-security-mvc-jsonview/src/test/java/com/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..b1a3de714e
--- /dev/null
+++ b/spring-security-mvc-jsonview/src/test/java/com/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package com.baeldung;
+
+import com.baeldung.spring.AppConfig;
+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.web.WebAppConfiguration;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(classes = AppConfig.class)
+@WebAppConfiguration
+public class SpringContextTest {
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-security-mvc-ldap/src/test/java/org/baeldung/SpringContextTest.java b/spring-security-mvc-ldap/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..30ba7671d8
--- /dev/null
+++ b/spring-security-mvc-ldap/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,15 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = SampleLDAPApplication.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-security-mvc-login/src/test/java/com/baeldung/SpringContextTest.java b/spring-security-mvc-login/src/test/java/com/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..4cf3b736ea
--- /dev/null
+++ b/spring-security-mvc-login/src/test/java/com/baeldung/SpringContextTest.java
@@ -0,0 +1,16 @@
+package com.baeldung;
+
+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.web.WebAppConfiguration;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration({ "/RedirectionWebSecurityConfig.xml", "/mvc-servlet.xml" })
+@WebAppConfiguration
+public class SpringContextTest {
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-security-mvc-persisted-remember-me/src/test/java/org/baeldung/SpringContextTest.java b/spring-security-mvc-persisted-remember-me/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..8113ed0fbe
--- /dev/null
+++ b/spring-security-mvc-persisted-remember-me/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,20 @@
+package org.baeldung;
+
+import org.baeldung.spring.MvcConfig;
+import org.baeldung.spring.PersistenceConfig;
+import org.baeldung.spring.SecurityConfig;
+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.web.WebAppConfiguration;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(classes = { MvcConfig.class, PersistenceConfig.class, SecurityConfig.class })
+@WebAppConfiguration
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-security-mvc-session/src/test/java/org/baeldung/SpringContextTest.java b/spring-security-mvc-session/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..5ee80d856a
--- /dev/null
+++ b/spring-security-mvc-session/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,19 @@
+package org.baeldung;
+
+import org.baeldung.spring.MvcConfig;
+import org.baeldung.spring.SecSecurityConfig;
+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.web.WebAppConfiguration;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(classes = { MvcConfig.class, SecSecurityConfig.class })
+@WebAppConfiguration
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-security-mvc-socket/src/test/java/org/baeldung/SpringContextTest.java b/spring-security-mvc-socket/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..7b9c738904
--- /dev/null
+++ b/spring-security-mvc-socket/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,24 @@
+package org.baeldung;
+
+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.web.WebAppConfiguration;
+
+import com.baeldung.springsecuredsockets.config.AppConfig;
+import com.baeldung.springsecuredsockets.config.DataStoreConfig;
+import com.baeldung.springsecuredsockets.config.SecurityConfig;
+import com.baeldung.springsecuredsockets.config.SocketBrokerConfig;
+import com.baeldung.springsecuredsockets.config.SocketSecurityConfig;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(classes = { AppConfig.class, DataStoreConfig.class, SecurityConfig.class,
+ SocketBrokerConfig.class, SocketSecurityConfig.class })
+@WebAppConfiguration
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-security-openid/src/test/java/org/baeldung/SpringContextTest.java b/spring-security-openid/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..fa346b2b31
--- /dev/null
+++ b/spring-security-openid/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,16 @@
+package org.baeldung;
+
+import org.baeldung.config.SpringOpenidApplication;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = SpringOpenidApplication.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-security-react/src/test/java/org/baeldung/SpringContextTest.java b/spring-security-react/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..9cc52b4726
--- /dev/null
+++ b/spring-security-react/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.baeldung.spring.MvcConfig;
+import org.baeldung.spring.SecSecurityConfig;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(classes = { MvcConfig.class, SecSecurityConfig.class })
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-security-rest-basic-auth/src/test/java/org/baeldung/SpringContextTest.java b/spring-security-rest-basic-auth/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..f54cbf3b7b
--- /dev/null
+++ b/spring-security-rest-basic-auth/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,15 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration({ "/webSecurityConfig.xml" })
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-security-rest/src/main/java/org/baeldung/web/controller/CustomController.java b/spring-security-rest/src/main/java/org/baeldung/web/controller/CustomController.java
new file mode 100644
index 0000000000..7d40b9bb8d
--- /dev/null
+++ b/spring-security-rest/src/main/java/org/baeldung/web/controller/CustomController.java
@@ -0,0 +1,14 @@
+package org.baeldung.web.controller;
+
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+
+@Controller
+public class CustomController {
+
+ @RequestMapping(value = "/custom", method = RequestMethod.POST)
+ public String custom() {
+ return "custom";
+ }
+}
\ No newline at end of file
diff --git a/spring-security-rest/src/test/java/org/baeldung/SpringContextTest.java b/spring-security-rest/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..d984cf5c35
--- /dev/null
+++ b/spring-security-rest/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,20 @@
+package org.baeldung;
+
+import org.baeldung.spring.ClientWebConfig;
+import org.baeldung.spring.SecurityJavaConfig;
+import org.baeldung.spring.WebConfig;
+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.web.WebAppConfiguration;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@WebAppConfiguration
+@ContextConfiguration(classes = { ClientWebConfig.class, SecurityJavaConfig.class, WebConfig.class })
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-security-sso/spring-security-sso-auth-server/src/test/java/org/baeldung/SpringContextTest.java b/spring-security-sso/spring-security-sso-auth-server/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..f677f683b2
--- /dev/null
+++ b/spring-security-sso/spring-security-sso-auth-server/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,18 @@
+package org.baeldung;
+
+import org.baeldung.config.AuthorizationServerApplication;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.boot.test.context.SpringBootTest.WebEnvironment;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = AuthorizationServerApplication.class, webEnvironment = WebEnvironment.RANDOM_PORT)
+public class SpringContextTest {
+
+ @Test
+ public void whenLoadApplication_thenSuccess() {
+
+ }
+}
diff --git a/spring-security-sso/spring-security-sso-ui-2/src/test/java/org/baeldung/SpringContextTest.java b/spring-security-sso/spring-security-sso-ui-2/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..61a2a022ed
--- /dev/null
+++ b/spring-security-sso/spring-security-sso-ui-2/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,18 @@
+package org.baeldung;
+
+import org.baeldung.config.UiApplication;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.boot.test.context.SpringBootTest.WebEnvironment;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = UiApplication.class, webEnvironment = WebEnvironment.RANDOM_PORT)
+public class SpringContextTest {
+
+ @Test
+ public void whenLoadApplication_thenSuccess() {
+
+ }
+}
diff --git a/spring-security-sso/spring-security-sso-ui/src/test/java/org/baeldung/SpringContextTest.java b/spring-security-sso/spring-security-sso-ui/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..61a2a022ed
--- /dev/null
+++ b/spring-security-sso/spring-security-sso-ui/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,18 @@
+package org.baeldung;
+
+import org.baeldung.config.UiApplication;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.boot.test.context.SpringBootTest.WebEnvironment;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = UiApplication.class, webEnvironment = WebEnvironment.RANDOM_PORT)
+public class SpringContextTest {
+
+ @Test
+ public void whenLoadApplication_thenSuccess() {
+
+ }
+}
diff --git a/spring-security-x509/spring-security-x509-basic-auth/src/test/java/org/baeldung/SpringContextTest.java b/spring-security-x509/spring-security-x509-basic-auth/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..5c65dd3e8a
--- /dev/null
+++ b/spring-security-x509/spring-security-x509-basic-auth/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.spring.security.x509.X509AuthenticationServer;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = X509AuthenticationServer.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-security-x509/spring-security-x509-client-auth/src/test/java/org/baeldung/SpringContextTest.java b/spring-security-x509/spring-security-x509-client-auth/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..5c65dd3e8a
--- /dev/null
+++ b/spring-security-x509/spring-security-x509-client-auth/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.spring.security.x509.X509AuthenticationServer;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = X509AuthenticationServer.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-session/spring-session-jdbc/src/test/java/org/baeldung/SpringContextTest.java b/spring-session/spring-session-jdbc/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..b69855ba38
--- /dev/null
+++ b/spring-session/spring-session-jdbc/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.springsessionjdbc.SpringSessionJdbcApplication;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = SpringSessionJdbcApplication.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-session/spring-session-mongodb/src/test/java/org/baeldung/SpringContextTest.java b/spring-session/spring-session-mongodb/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..307d31a809
--- /dev/null
+++ b/spring-session/spring-session-mongodb/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,16 @@
+package org.baeldung;
+
+import com.baeldung.springsessionmongodb.SpringSessionMongoDBApplication;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = SpringSessionMongoDBApplication.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-session/spring-session-redis/src/test/java/org/baeldung/SpringContextTest.java b/spring-session/spring-session-redis/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..994f93c24f
--- /dev/null
+++ b/spring-session/spring-session-redis/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.spring.session.SessionWebApplication;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = SessionWebApplication.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-sleuth/src/test/java/org/baeldung/SpringContextTest.java b/spring-sleuth/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..ff22398ca4
--- /dev/null
+++ b/spring-sleuth/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.spring.session.SleuthWebApp;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = SleuthWebApp.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-social-login/src/test/java/org/baeldung/SpringContextTest.java b/spring-social-login/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..cfd8759c52
--- /dev/null
+++ b/spring-social-login/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,18 @@
+package org.baeldung;
+
+import org.baeldung.config.Application;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.boot.test.context.SpringBootTest.WebEnvironment;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = Application.class, webEnvironment = WebEnvironment.RANDOM_PORT)
+public class SpringContextTest {
+
+ @Test
+ public void whenLoadApplication_thenSuccess() {
+
+ }
+}
diff --git a/spring-spel/src/test/java/org/baeldung/SpringContextTest.java b/spring-spel/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..e25c1bf8e4
--- /dev/null
+++ b/spring-spel/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,15 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(locations = {"classpath:applicationContext.xml"})
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-state-machine/src/test/java/org/baeldung/SpringContextTest.java b/spring-state-machine/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..1e847c0d65
--- /dev/null
+++ b/spring-state-machine/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,23 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+
+import com.baeldung.spring.statemachine.config.ForkJoinStateMachineConfiguration;
+import com.baeldung.spring.statemachine.config.HierarchicalStateMachineConfiguration;
+import com.baeldung.spring.statemachine.config.JunctionStateMachineConfiguration;
+import com.baeldung.spring.statemachine.config.SimpleEnumStateMachineConfiguration;
+import com.baeldung.spring.statemachine.config.SimpleStateMachineConfiguration;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(classes = { SimpleStateMachineConfiguration.class, SimpleEnumStateMachineConfiguration.class,
+ JunctionStateMachineConfiguration.class, HierarchicalStateMachineConfiguration.class,
+ ForkJoinStateMachineConfiguration.class })
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-static-resources/src/test/java/com/baeldung/SpringContextTest.java b/spring-static-resources/src/test/java/com/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..0dcbba3221
--- /dev/null
+++ b/spring-static-resources/src/test/java/com/baeldung/SpringContextTest.java
@@ -0,0 +1,20 @@
+package com.baeldung;
+
+import org.baeldung.spring.SecSecurityConfig;
+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;
+import org.springframework.test.context.web.WebAppConfiguration;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(classes = { SecSecurityConfig.class }, loader = AnnotationConfigContextLoader.class)
+@WebAppConfiguration
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+
+ }
+}
diff --git a/spring-swagger-codegen/spring-swagger-codegen-app/src/test/java/org/baeldung/SpringContextTest.java b/spring-swagger-codegen/spring-swagger-codegen-app/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..79b2b7fa88
--- /dev/null
+++ b/spring-swagger-codegen/spring-swagger-codegen-app/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.petstore.app.PetStoreApplication;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = PetStoreApplication.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-thymeleaf/src/test/java/org/baeldung/SpringContextTest.java b/spring-thymeleaf/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..1ff1c52c68
--- /dev/null
+++ b/spring-thymeleaf/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,22 @@
+package org.baeldung;
+
+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.web.WebAppConfiguration;
+
+import com.baeldung.thymeleaf.config.InitSecurity;
+import com.baeldung.thymeleaf.config.WebApp;
+import com.baeldung.thymeleaf.config.WebMVCConfig;
+import com.baeldung.thymeleaf.config.WebMVCSecurity;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@WebAppConfiguration
+@ContextConfiguration(classes = { WebApp.class, WebMVCConfig.class, WebMVCSecurity.class, InitSecurity.class })
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-userservice/.gitignore b/spring-userservice/.gitignore
deleted file mode 100644
index afe61e7c0c..0000000000
--- a/spring-userservice/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-derby.log
\ No newline at end of file
diff --git a/spring-userservice/.springBeans b/spring-userservice/.springBeans
deleted file mode 100644
index ff32b84d3b..0000000000
--- a/spring-userservice/.springBeans
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
- 1
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/spring-userservice/README.md b/spring-userservice/README.md
deleted file mode 100644
index 097afc5fc1..0000000000
--- a/spring-userservice/README.md
+++ /dev/null
@@ -1 +0,0 @@
-spring-userservice is using a in memory derby db. Right click -> run on server to run the project
\ No newline at end of file
diff --git a/spring-userservice/pom.xml b/spring-userservice/pom.xml
deleted file mode 100644
index cd61dfbf27..0000000000
--- a/spring-userservice/pom.xml
+++ /dev/null
@@ -1,240 +0,0 @@
-
- 4.0.0
- spring-userservice
- spring-userservice
- 0.0.1-SNAPSHOT
- war
- spring-userservice
-
-
- com.baeldung
- parent-spring-4
- 0.0.1-SNAPSHOT
- ../parent-spring-4
-
-
-
-
-
-
-
- org.springframework
- spring-orm
- ${spring.version}
-
-
- org.springframework
- spring-context
- ${spring.version}
-
-
-
-
-
- org.hibernate
- hibernate-entitymanager
- ${hibernate.version}
-
-
- org.hibernate
- hibernate-ehcache
- ${hibernate.version}
-
-
- xml-apis
- xml-apis
- ${xml-apis.version}
-
-
- org.javassist
- javassist
- ${javassist.version}
-
-
- mysql
- mysql-connector-java
- ${mysql-connector-java.version}
- runtime
-
-
- org.springframework.data
- spring-data-jpa
- ${spring-data-jpa.version}
-
-
- com.h2database
- h2
- ${h2.version}
-
-
-
-
-
- org.hibernate
- hibernate-validator
- ${hibernate-validator.version}
-
-
- javax.el
- javax.el-api
- ${javax.el-api.version}
-
-
-
-
-
- com.google.guava
- guava
- ${guava.version}
-
-
-
-
-
- org.apache.commons
- commons-lang3
- ${commons-lang3.version}
- test
-
-
-
- org.springframework
- spring-test
- ${spring.version}
- test
-
-
-
- org.springframework
- spring-core
- ${spring.version}
-
-
- commons-logging
- commons-logging
-
-
-
-
- org.springframework
- spring-web
- ${spring.version}
-
-
- org.springframework
- spring-webmvc
- ${spring.version}
-
-
-
- org.springframework.security
- spring-security-core
- ${org.springframework.security.version}
-
-
- org.springframework.security
- spring-security-web
- ${org.springframework.security.version}
-
-
- org.springframework.security
- spring-security-config
- ${org.springframework.security.version}
-
-
-
- org.apache.derby
- derby
- ${derby.version}
-
-
- org.apache.derby
- derbyclient
- ${derby.version}
-
-
- org.apache.derby
- derbynet
- ${derby.version}
-
-
- org.apache.derby
- derbytools
- ${derby.version}
-
-
- taglibs
- standard
- ${taglibs-standard.version}
-
-
- org.springframework.security
- spring-security-taglibs
- ${org.springframework.security.version}
-
-
- javax.servlet.jsp.jstl
- jstl-api
- ${jstl.version}
-
-
- org.springframework.boot
- spring-boot-test
- ${spring-boot.version}
-
-
- org.springframework.boot
- spring-boot
- ${spring-boot.version}
-
-
- javax.servlet
- javax.servlet-api
- ${javax.servlet-api.version}
-
-
-
-
- spring-userservice
-
-
- src/main/resources
- true
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-war-plugin
- ${maven-war-plugin.version}
-
-
-
-
-
-
-
- 4.2.6.RELEASE
- 1.5.14.RELEASE
- 3.21.0-GA
-
-
- 5.2.10.Final
- 5.1.40
- 1.10.5.RELEASE
- 10.13.1.1
-
-
- 5.3.3.Final
- 2.2.5
- 1.1.2
-
-
- 19.0
- 1.4.01
-
-
-
\ No newline at end of file
diff --git a/spring-userservice/src/main/java/org/baeldung/custom/config/MvcConfig.java b/spring-userservice/src/main/java/org/baeldung/custom/config/MvcConfig.java
deleted file mode 100644
index 4a9e737a92..0000000000
--- a/spring-userservice/src/main/java/org/baeldung/custom/config/MvcConfig.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package org.baeldung.custom.config;
-
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.ComponentScan;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.web.servlet.ViewResolver;
-import org.springframework.web.servlet.config.annotation.EnableWebMvc;
-import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
-import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
-import org.springframework.web.servlet.view.InternalResourceViewResolver;
-import org.springframework.web.servlet.view.JstlView;
-
-@EnableWebMvc
-@Configuration
-@ComponentScan(basePackages = { "org.baeldung.security" })
-public class MvcConfig extends WebMvcConfigurerAdapter {
-
- public MvcConfig() {
- super();
- }
-
- @Override
- public void addViewControllers(final ViewControllerRegistry registry) {
- super.addViewControllers(registry);
-
- registry.addViewController("/");
- registry.addViewController("/index");
- registry.addViewController("/login");
- registry.addViewController("/register");
- }
-
- @Bean
- public ViewResolver viewResolver() {
- final InternalResourceViewResolver bean = new InternalResourceViewResolver();
-
- bean.setViewClass(JstlView.class);
- bean.setPrefix("/WEB-INF/view/");
- bean.setSuffix(".jsp");
-
- return bean;
- }
-}
diff --git a/spring-userservice/src/main/java/org/baeldung/custom/config/PersistenceDerbyJPAConfig.java b/spring-userservice/src/main/java/org/baeldung/custom/config/PersistenceDerbyJPAConfig.java
deleted file mode 100644
index 6be7053b78..0000000000
--- a/spring-userservice/src/main/java/org/baeldung/custom/config/PersistenceDerbyJPAConfig.java
+++ /dev/null
@@ -1,89 +0,0 @@
-package org.baeldung.custom.config;
-
-import java.util.Properties;
-
-import javax.persistence.EntityManagerFactory;
-import javax.sql.DataSource;
-
-import org.baeldung.user.dao.MyUserDAO;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.PropertySource;
-import org.springframework.core.env.Environment;
-import org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor;
-import org.springframework.jdbc.datasource.DriverManagerDataSource;
-import org.springframework.orm.jpa.JpaTransactionManager;
-import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
-import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter;
-import org.springframework.transaction.PlatformTransactionManager;
-import org.springframework.transaction.annotation.EnableTransactionManagement;
-
-import com.google.common.base.Preconditions;
-
-@Configuration
-@EnableTransactionManagement
-@PropertySource({ "classpath:persistence-derby.properties" })
-public class PersistenceDerbyJPAConfig {
-
- @Autowired
- private Environment env;
-
- public PersistenceDerbyJPAConfig() {
- super();
- }
-
- // beans
-
- @Bean
- public LocalContainerEntityManagerFactoryBean myEmf() {
- final LocalContainerEntityManagerFactoryBean em = new LocalContainerEntityManagerFactoryBean();
- em.setDataSource(dataSource());
- em.setPackagesToScan(new String[] { "org.baeldung.persistence.model" });
-
- final HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
- em.setJpaVendorAdapter(vendorAdapter);
- em.setJpaProperties(additionalProperties());
-
- return em;
- }
-
- @Bean
- public DataSource dataSource() {
- final DriverManagerDataSource dataSource = new DriverManagerDataSource();
- dataSource.setDriverClassName(Preconditions.checkNotNull(env.getProperty("jdbc.driverClassName")));
- dataSource.setUrl(Preconditions.checkNotNull(env.getProperty("jdbc.url")));
- dataSource.setUsername(Preconditions.checkNotNull(env.getProperty("jdbc.user")));
- dataSource.setPassword(Preconditions.checkNotNull(env.getProperty("jdbc.pass")));
-
- return dataSource;
- }
-
- @Bean
- public PlatformTransactionManager transactionManager(final EntityManagerFactory emf) {
- final JpaTransactionManager transactionManager = new JpaTransactionManager();
- transactionManager.setEntityManagerFactory(emf);
- return transactionManager;
- }
-
- @Bean
- public PersistenceExceptionTranslationPostProcessor exceptionTranslation() {
- return new PersistenceExceptionTranslationPostProcessor();
- }
-
- final Properties additionalProperties() {
- final Properties hibernateProperties = new Properties();
- hibernateProperties.setProperty("hibernate.hbm2ddl.auto", env.getProperty("hibernate.hbm2ddl.auto"));
- hibernateProperties.setProperty("hibernate.dialect", env.getProperty("hibernate.dialect"));
- hibernateProperties.setProperty("hibernate.cache.use_second_level_cache", env.getProperty("hibernate.cache.use_second_level_cache"));
- hibernateProperties.setProperty("hibernate.cache.use_query_cache", env.getProperty("hibernate.cache.use_query_cache"));
- // hibernateProperties.setProperty("hibernate.globally_quoted_identifiers", "true");
- return hibernateProperties;
- }
-
- @Bean
- public MyUserDAO myUserDAO() {
- final MyUserDAO myUserDAO = new MyUserDAO();
- return myUserDAO;
- }
-}
\ No newline at end of file
diff --git a/spring-userservice/src/main/java/org/baeldung/custom/config/SecSecurityConfig.java b/spring-userservice/src/main/java/org/baeldung/custom/config/SecSecurityConfig.java
deleted file mode 100644
index 44df02980f..0000000000
--- a/spring-userservice/src/main/java/org/baeldung/custom/config/SecSecurityConfig.java
+++ /dev/null
@@ -1,75 +0,0 @@
-package org.baeldung.custom.config;
-
-import org.baeldung.security.MyUserDetailsService;
-import org.baeldung.user.service.MyUserService;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Profile;
-import org.springframework.security.authentication.dao.DaoAuthenticationProvider;
-import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
-import org.springframework.security.config.annotation.web.builders.HttpSecurity;
-import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
-import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
-import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
-import org.springframework.security.crypto.password.PasswordEncoder;
-
-@Configuration
-@EnableWebSecurity
-@Profile("!https")
-public class SecSecurityConfig extends WebSecurityConfigurerAdapter {
-
- public SecSecurityConfig() {
- super();
- }
-
- @Override
- protected void configure(final AuthenticationManagerBuilder auth) throws Exception {
- // @formatter:off
- auth.authenticationProvider(authenticationProvider());
- // @formatter:on
- }
-
- @Override
- protected void configure(final HttpSecurity http) throws Exception {
- // @formatter:off
- http
- .csrf().disable()
- .authorizeRequests()
- .antMatchers("/*").permitAll()
- .and()
- .formLogin()
- .loginPage("/login")
- .loginProcessingUrl("/login")
- .defaultSuccessUrl("/",true)
- .failureUrl("/login?error=true")
- .and()
- .logout()
- .logoutUrl("/logout")
- .deleteCookies("JSESSIONID")
- .logoutSuccessUrl("/");
- // @formatter:on
- }
-
- @Bean
- public DaoAuthenticationProvider authenticationProvider() {
- final DaoAuthenticationProvider authProvider = new DaoAuthenticationProvider();
- authProvider.setUserDetailsService(myUserDetailsService());
- authProvider.setPasswordEncoder(encoder());
- return authProvider;
- }
-
- @Bean
- public PasswordEncoder encoder() {
- return new BCryptPasswordEncoder(11);
- }
-
- @Bean
- public MyUserDetailsService myUserDetailsService() {
- return new MyUserDetailsService();
- }
-
- @Bean
- public MyUserService myUserService() {
- return new MyUserService();
- }
-}
diff --git a/spring-userservice/src/main/java/org/baeldung/persistence/model/MyUser.java b/spring-userservice/src/main/java/org/baeldung/persistence/model/MyUser.java
deleted file mode 100644
index 804d391641..0000000000
--- a/spring-userservice/src/main/java/org/baeldung/persistence/model/MyUser.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package org.baeldung.persistence.model;
-
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.Table;
-
-@Entity
-@Table(schema = "spring_custom_user_service")
-public class MyUser {
-
- @Id
- @GeneratedValue(strategy = GenerationType.AUTO)
- private int id;
-
- @Column(unique = true, nullable = false)
- private String username;
-
- @Column(nullable = false)
- private String password;
-
- public MyUser() {
- }
-
- public int getId() {
- return id;
- }
-
- public void setId(final int id) {
- this.id = id;
- }
-
- public String getUsername() {
- return username;
- }
-
- public void setUsername(final String username) {
- this.username = username;
- }
-
- public String getPassword() {
- return password;
- }
-
- public void setPassword(final String password) {
- this.password = password;
- }
-}
diff --git a/spring-userservice/src/main/java/org/baeldung/security/MyUserDetailsService.java b/spring-userservice/src/main/java/org/baeldung/security/MyUserDetailsService.java
deleted file mode 100644
index fe97984af8..0000000000
--- a/spring-userservice/src/main/java/org/baeldung/security/MyUserDetailsService.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package org.baeldung.security;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-
-import org.baeldung.persistence.model.MyUser;
-import org.baeldung.user.dao.MyUserDAO;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.security.core.GrantedAuthority;
-import org.springframework.security.core.authority.SimpleGrantedAuthority;
-import org.springframework.security.core.userdetails.User;
-import org.springframework.security.core.userdetails.UserDetails;
-import org.springframework.security.core.userdetails.UserDetailsService;
-import org.springframework.security.core.userdetails.UsernameNotFoundException;
-import org.springframework.stereotype.Service;
-
-@Service("userDetailsService")
-public class MyUserDetailsService implements UserDetailsService {
-
- @Autowired
- MyUserDAO myUserDAO;
-
- @Override
- public UserDetails loadUserByUsername(final String username) throws UsernameNotFoundException {
- final MyUser user = myUserDAO.findByUsername(username);
-
- if (user == null) {
- throw new UsernameNotFoundException("No user found with username: " + username);
- }
- return new User(user.getUsername(), user.getPassword(), Arrays.asList(new SimpleGrantedAuthority("ROLE_USER")));
-
- }
-
-}
diff --git a/spring-userservice/src/main/java/org/baeldung/security/UserController.java b/spring-userservice/src/main/java/org/baeldung/security/UserController.java
deleted file mode 100644
index a4c15f7942..0000000000
--- a/spring-userservice/src/main/java/org/baeldung/security/UserController.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package org.baeldung.security;
-
-import javax.annotation.Resource;
-
-import org.baeldung.user.service.MyUserService;
-import org.baeldung.web.MyUserDto;
-import org.springframework.security.core.Authentication;
-import org.springframework.security.core.context.SecurityContextHolder;
-import org.springframework.stereotype.Controller;
-import org.springframework.ui.Model;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-
-@Controller
-public class UserController {
-
- @Resource
- MyUserService myUserService;
-
- @RequestMapping(value = "/register", method = RequestMethod.POST)
- public String registerUserAccount(final MyUserDto accountDto, final Model model) {
- final Authentication auth = SecurityContextHolder.getContext().getAuthentication();
- model.addAttribute("name", auth.getName());
- try {
- myUserService.registerNewUserAccount(accountDto);
- model.addAttribute("message", "Registration successful");
- return "index";
- } catch (final Exception exc) {
- model.addAttribute("message", "Registration failed");
-
- return "index";
- }
- }
-
- @RequestMapping(value = "/", method = RequestMethod.GET)
- public String getHomepage(final Model model) {
- final Authentication auth = SecurityContextHolder.getContext().getAuthentication();
- model.addAttribute("name", auth.getName());
- return "index";
- }
-
- @RequestMapping(value = "/register", method = RequestMethod.GET)
- public String getRegister() {
- return "register";
- }
-
- @RequestMapping(value = "/login", method = RequestMethod.GET)
- public String getLogin() {
- return "login";
- }
-}
diff --git a/spring-userservice/src/main/java/org/baeldung/user/dao/MyUserDAO.java b/spring-userservice/src/main/java/org/baeldung/user/dao/MyUserDAO.java
deleted file mode 100644
index 834941b68b..0000000000
--- a/spring-userservice/src/main/java/org/baeldung/user/dao/MyUserDAO.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package org.baeldung.user.dao;
-
-import java.util.List;
-
-import javax.persistence.EntityManager;
-import javax.persistence.PersistenceContext;
-import javax.persistence.Query;
-
-import org.baeldung.persistence.model.MyUser;
-import org.springframework.stereotype.Repository;
-
-@Repository
-public class MyUserDAO {
-
- @PersistenceContext
- private EntityManager entityManager;
-
- public MyUser findByUsername(final String username) {
- final Query query = entityManager.createQuery("from MyUser where username=:username", MyUser.class);
- query.setParameter("username", username);
- final List result = query.getResultList();
- if (result != null && result.size() > 0) {
- return result.get(0);
- } else
- return null;
- }
-
- public MyUser save(final MyUser user) {
- entityManager.persist(user);
- return user;
- }
-
- public void removeUserByUsername(String username) {
- final Query query = entityManager.createQuery("delete from MyUser where username=:username");
- query.setParameter("username", username);
- query.executeUpdate();
- }
-
- public EntityManager getEntityManager() {
- return entityManager;
- }
-
- public void setEntityManager(final EntityManager entityManager) {
- this.entityManager = entityManager;
- }
-}
diff --git a/spring-userservice/src/main/java/org/baeldung/user/service/MyUserService.java b/spring-userservice/src/main/java/org/baeldung/user/service/MyUserService.java
deleted file mode 100644
index 2ab44752c0..0000000000
--- a/spring-userservice/src/main/java/org/baeldung/user/service/MyUserService.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package org.baeldung.user.service;
-
-import org.baeldung.persistence.model.MyUser;
-import org.baeldung.user.dao.MyUserDAO;
-import org.baeldung.web.MyUserDto;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.security.crypto.password.PasswordEncoder;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-@Service
-@Transactional
-public class MyUserService {
-
- @Autowired
- private PasswordEncoder passwordEncoder;
-
- @Autowired
- MyUserDAO myUserDAO;
-
- public MyUser registerNewUserAccount(final MyUserDto accountDto) throws Exception {
- if (usernameExists(accountDto.getUsername())) {
- throw new Exception("There is an account with that username: " + accountDto.getUsername());
- }
- final MyUser user = new MyUser();
-
- user.setUsername(accountDto.getUsername());
- user.setPassword(passwordEncoder.encode(accountDto.getPassword()));
- return myUserDAO.save(user);
- }
-
- public MyUser getUserByUsername(final String username) {
- final MyUser user = myUserDAO.findByUsername(username);
- return user;
- }
-
- public void removeUserByUsername(String username) {
- myUserDAO.removeUserByUsername(username);
- }
-
- private boolean usernameExists(final String username) {
- final MyUser user = myUserDAO.findByUsername(username);
- if (user != null) {
- return true;
- }
- return false;
- }
-
-}
diff --git a/spring-userservice/src/main/java/org/baeldung/web/MyUserDto.java b/spring-userservice/src/main/java/org/baeldung/web/MyUserDto.java
deleted file mode 100644
index 60a6848ea4..0000000000
--- a/spring-userservice/src/main/java/org/baeldung/web/MyUserDto.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.baeldung.web;
-
-import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Size;
-
-public class MyUserDto {
- @NotNull
- @Size(min = 1)
- private String username;
-
- private String password;
-
- public String getUsername() {
- return username;
- }
-
- public void setUsername(final String username) {
- this.username = username;
- }
-
- public String getPassword() {
- return password;
- }
-
- public void setPassword(final String password) {
- this.password = password;
- }
-
-}
diff --git a/spring-userservice/src/main/resources/logback.xml b/spring-userservice/src/main/resources/logback.xml
deleted file mode 100644
index 7d900d8ea8..0000000000
--- a/spring-userservice/src/main/resources/logback.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
- %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/spring-userservice/src/main/resources/persistence-derby.properties b/spring-userservice/src/main/resources/persistence-derby.properties
deleted file mode 100644
index b76c5de12f..0000000000
--- a/spring-userservice/src/main/resources/persistence-derby.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-# jdbc.X
-jdbc.driverClassName=org.apache.derby.jdbc.EmbeddedDriver
-jdbc.url=jdbc:derby:memory:spring_custom_user_service;create=true
-jdbc.user=tutorialuser
-jdbc.pass=tutorialpass
-
-# hibernate.X
-hibernate.dialect=org.hibernate.dialect.DerbyDialect
-hibernate.show_sql=false
-hibernate.hbm2ddl.auto=update
-hibernate.cache.use_second_level_cache=false
-hibernate.cache.use_query_cache=false
\ No newline at end of file
diff --git a/spring-userservice/src/main/webapp/META-INF/MANIFEST.MF b/spring-userservice/src/main/webapp/META-INF/MANIFEST.MF
deleted file mode 100644
index 254272e1c0..0000000000
--- a/spring-userservice/src/main/webapp/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,3 +0,0 @@
-Manifest-Version: 1.0
-Class-Path:
-
diff --git a/spring-userservice/src/main/webapp/WEB-INF/mvc-dispatcher-servlet.xml b/spring-userservice/src/main/webapp/WEB-INF/mvc-dispatcher-servlet.xml
deleted file mode 100644
index 48ef8a8c43..0000000000
--- a/spring-userservice/src/main/webapp/WEB-INF/mvc-dispatcher-servlet.xml
+++ /dev/null
@@ -1,88 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- /WEB-INF/views/
-
-
- .jsp
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ${hibernate.hbm2ddl.auto}
- ${hibernate.dialect}
- ${hibernate.cache.use_second_level_cache}
- ${hibernate.cache.use_query_cache}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/spring-userservice/src/main/webapp/WEB-INF/views/index.jsp b/spring-userservice/src/main/webapp/WEB-INF/views/index.jsp
deleted file mode 100644
index 0c89257cd2..0000000000
--- a/spring-userservice/src/main/webapp/WEB-INF/views/index.jsp
+++ /dev/null
@@ -1,35 +0,0 @@
-<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
- pageEncoding="ISO-8859-1"%>
-<%@ taglib prefix="c"
- uri="http://java.sun.com/jsp/jstl/core" %>
-<%@ taglib prefix="sec" uri="http://www.springframework.org/security/tags" %>
-
-
-
-
-
-Welcome!
-
-
-
-
-
-
-
-Register
-
-
-Login
-
-
-${message }
-
-
-Hello, ${name }!
-
-
-Logout
-
-
-
-
\ No newline at end of file
diff --git a/spring-userservice/src/main/webapp/WEB-INF/views/login.jsp b/spring-userservice/src/main/webapp/WEB-INF/views/login.jsp
deleted file mode 100644
index 29431f426d..0000000000
--- a/spring-userservice/src/main/webapp/WEB-INF/views/login.jsp
+++ /dev/null
@@ -1,29 +0,0 @@
-<%@ taglib prefix="c"
- uri="http://java.sun.com/jsp/jstl/core" %>
-
-
-
-
-
- Login
-
-
- Username or password invalid!
-
-
\ No newline at end of file
diff --git a/spring-userservice/src/main/webapp/WEB-INF/views/register.jsp b/spring-userservice/src/main/webapp/WEB-INF/views/register.jsp
deleted file mode 100644
index e6e9d373a0..0000000000
--- a/spring-userservice/src/main/webapp/WEB-INF/views/register.jsp
+++ /dev/null
@@ -1,23 +0,0 @@
-<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
- pageEncoding="ISO-8859-1"%>
-<%@ taglib prefix="c"
- uri="http://java.sun.com/jsp/jstl/core" %>
-
-
-
-
-Welcome!
-
-
-
-
-
-Register here:
-
-
-
-
\ No newline at end of file
diff --git a/spring-userservice/src/main/webapp/WEB-INF/web.xml b/spring-userservice/src/main/webapp/WEB-INF/web.xml
deleted file mode 100644
index b526774179..0000000000
--- a/spring-userservice/src/main/webapp/WEB-INF/web.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-
-
-
- Spring MVC Application
-
-
-
-
-
- mvc-dispatcher
- org.springframework.web.servlet.DispatcherServlet
- 1
-
-
- mvc-dispatcher
- /
-
-
-
-
- springSecurityFilterChain
- org.springframework.web.filter.DelegatingFilterProxy
-
-
- springSecurityFilterChain
- /*
-
-
-
- index.jsp
-
-
-
\ No newline at end of file
diff --git a/spring-userservice/src/test/java/org/baeldung/SpringContextIntegrationTest.java b/spring-userservice/src/test/java/org/baeldung/SpringContextTest.java
similarity index 92%
rename from spring-userservice/src/test/java/org/baeldung/SpringContextIntegrationTest.java
rename to spring-userservice/src/test/java/org/baeldung/SpringContextTest.java
index 825b89eb10..2853a955fa 100644
--- a/spring-userservice/src/test/java/org/baeldung/SpringContextIntegrationTest.java
+++ b/spring-userservice/src/test/java/org/baeldung/SpringContextTest.java
@@ -10,7 +10,7 @@ import org.springframework.test.context.junit4.SpringRunner;
@RunWith(SpringRunner.class)
@SpringBootTest(classes = { MvcConfig.class, PersistenceDerbyJPAConfig.class, SecSecurityConfig.class })
-public class SpringContextIntegrationTest {
+public class SpringContextTest {
@Test
public void whenSpringContextIsBootstrapped_thenNoExceptions() {
diff --git a/spring-userservice/src/test/java/org/baeldung/userservice/CustomUserDetailsServiceIntegrationTest.java b/spring-userservice/src/test/java/org/baeldung/userservice/CustomUserDetailsServiceIntegrationTest.java
deleted file mode 100644
index 1cd38228b8..0000000000
--- a/spring-userservice/src/test/java/org/baeldung/userservice/CustomUserDetailsServiceIntegrationTest.java
+++ /dev/null
@@ -1,82 +0,0 @@
-package org.baeldung.userservice;
-
-import static org.junit.Assert.assertEquals;
-
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-import org.baeldung.custom.config.MvcConfig;
-import org.baeldung.custom.config.PersistenceDerbyJPAConfig;
-import org.baeldung.custom.config.SecSecurityConfig;
-import org.baeldung.user.service.MyUserService;
-import org.baeldung.web.MyUserDto;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.security.authentication.AuthenticationProvider;
-import org.springframework.security.authentication.BadCredentialsException;
-import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
-import org.springframework.security.core.Authentication;
-import org.springframework.test.context.junit4.SpringRunner;
-import org.springframework.test.context.web.WebAppConfiguration;
-
-@RunWith(SpringRunner.class)
-@SpringBootTest(classes = { MvcConfig.class, PersistenceDerbyJPAConfig.class, SecSecurityConfig.class })
-@WebAppConfiguration
-public class CustomUserDetailsServiceIntegrationTest {
-
- private static final Logger LOG = Logger.getLogger("CustomUserDetailsServiceTest");
-
- public static final String USERNAME = "user";
- public static final String PASSWORD = "pass";
- public static final String USERNAME2 = "user2";
-
- @Autowired
- MyUserService myUserService;
-
- @Autowired
- AuthenticationProvider authenticationProvider;
-
- @Test
- public void givenExistingUser_whenAuthenticate_thenRetrieveFromDb() {
- try {
- MyUserDto userDTO = new MyUserDto();
- userDTO.setUsername(USERNAME);
- userDTO.setPassword(PASSWORD);
-
- myUserService.registerNewUserAccount(userDTO);
-
- UsernamePasswordAuthenticationToken auth = new UsernamePasswordAuthenticationToken(USERNAME, PASSWORD);
- Authentication authentication = authenticationProvider.authenticate(auth);
-
- assertEquals(authentication.getName(), USERNAME);
-
- } catch (Exception exc) {
- LOG.log(Level.SEVERE, "Error creating account");
- } finally {
- myUserService.removeUserByUsername(USERNAME);
- }
- }
-
- @Test(expected = BadCredentialsException.class)
- public void givenIncorrectUser_whenAuthenticate_thenBadCredentialsException() {
- try {
- MyUserDto userDTO = new MyUserDto();
- userDTO.setUsername(USERNAME);
- userDTO.setPassword(PASSWORD);
-
- try {
- myUserService.registerNewUserAccount(userDTO);
- } catch (Exception exc) {
- LOG.log(Level.SEVERE, "Error creating account");
- }
-
- UsernamePasswordAuthenticationToken auth = new UsernamePasswordAuthenticationToken(USERNAME2, PASSWORD);
- Authentication authentication = authenticationProvider.authenticate(auth);
- } finally {
- myUserService.removeUserByUsername(USERNAME);
- }
- }
-
-}
diff --git a/spring-vault/src/test/java/org/baeldung/SpringContextTest.java b/spring-vault/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..95abe622fa
--- /dev/null
+++ b/spring-vault/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,16 @@
+package org.baeldung;
+
+import org.baeldung.springvault.SpringVaultApplication;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = SpringVaultApplication.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-vertx/src/test/java/org/baeldung/SpringContextTest.java b/spring-vertx/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..4ce94ec16a
--- /dev/null
+++ b/spring-vertx/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.vertxspring.VertxSpringApplication;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = VertxSpringApplication.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-webflux-amqp/src/test/java/org/baeldung/SpringContextTest.java b/spring-webflux-amqp/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..88d29d5ac0
--- /dev/null
+++ b/spring-webflux-amqp/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,16 @@
+package org.baeldung;
+
+import org.baeldung.spring.amqp.SpringWebfluxAmqpApplication;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = SpringWebfluxAmqpApplication.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-zuul/spring-zuul-foos-resource/src/test/java/org/baeldung/SpringContextTest.java b/spring-zuul/spring-zuul-foos-resource/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..2a57d7aa07
--- /dev/null
+++ b/spring-zuul/spring-zuul-foos-resource/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,16 @@
+package org.baeldung;
+
+import org.baeldung.config.ResourceServerApplication;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = ResourceServerApplication.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-zuul/spring-zuul-ui/src/test/java/org/baeldung/SpringContextTest.java b/spring-zuul/spring-zuul-ui/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..fd35ec0841
--- /dev/null
+++ b/spring-zuul/spring-zuul-ui/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,16 @@
+package org.baeldung;
+
+import org.baeldung.config.UiApplication;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = UiApplication.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/testing-modules/README.md b/testing-modules/README.md
index d69f07215e..b269f547ec 100644
--- a/testing-modules/README.md
+++ b/testing-modules/README.md
@@ -13,5 +13,3 @@
- [Headers, Cookies and Parameters with REST-assured](http://www.baeldung.com/rest-assured-header-cookie-parameter)
- [JSON Schema Validation with REST-assured](http://www.baeldung.com/rest-assured-json-schema)
- [Testing Callbacks with Mockito](http://www.baeldung.com/mockito-callbacks)
-- [Running JUnit Tests in Parallel with Maven](https://www.baeldung.com/maven-junit-parallel-tests)
-- [Gatling vs JMeter vs The Grinder: Comparing Load Test Tools](https://www.baeldung.com/gatling-jmeter-grinder-comparison)
diff --git a/testing-modules/junit-5-advanced/README.md b/testing-modules/junit-5-advanced/README.md
new file mode 100644
index 0000000000..7282a4efad
--- /dev/null
+++ b/testing-modules/junit-5-advanced/README.md
@@ -0,0 +1,3 @@
+### Relevant Articles
+
+- [JUnit 5 TestWatcher API](https://www.baeldung.com/junit-testwatcher)
diff --git a/testing-modules/junit-5-advanced/src/main/java/com/baeldung/failure_vs_error/SimpleCalculator.java b/testing-modules/junit-5-advanced/src/main/java/com/baeldung/failure_vs_error/SimpleCalculator.java
new file mode 100644
index 0000000000..d018aa939f
--- /dev/null
+++ b/testing-modules/junit-5-advanced/src/main/java/com/baeldung/failure_vs_error/SimpleCalculator.java
@@ -0,0 +1,15 @@
+package com.baeldung.failure_vs_error;
+
+/**
+ * @author paullatzelsperger
+ * @since 2019-07-17
+ */
+public class SimpleCalculator {
+
+ public static double divideNumbers(double dividend, double divisor) {
+ if (divisor == 0) {
+ throw new ArithmeticException("Division by zero!");
+ }
+ return dividend / divisor;
+ }
+}
diff --git a/testing-modules/junit-5-advanced/src/test/java/com/baeldung/failure_vs_error/SimpleCalculatorUnitTest.java b/testing-modules/junit-5-advanced/src/test/java/com/baeldung/failure_vs_error/SimpleCalculatorUnitTest.java
new file mode 100644
index 0000000000..9b1777258c
--- /dev/null
+++ b/testing-modules/junit-5-advanced/src/test/java/com/baeldung/failure_vs_error/SimpleCalculatorUnitTest.java
@@ -0,0 +1,32 @@
+package com.baeldung.failure_vs_error;
+
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
+/**
+ * @author paullatzelsperger
+ * @since 2019-07-17
+ */
+class SimpleCalculatorUnitTest {
+
+ @Test
+ void divideNumbers() {
+ double result = SimpleCalculator.divideNumbers(6, 3);
+ assertEquals(2, result);
+ }
+
+ @Test
+ @Disabled("test is expected to fail, disabled so that CI build still goes through")
+ void divideNumbers_failure() {
+ double result = SimpleCalculator.divideNumbers(6, 3);
+ assertEquals(15, result);
+ }
+
+ @Test
+ @Disabled("test is expected to raise an error, disabled so that CI build still goes through")
+ void divideNumbers_error() {
+ SimpleCalculator.divideNumbers(10, 0);
+ }
+}
diff --git a/testing-modules/junit-5-basics/README.md b/testing-modules/junit-5-basics/README.md
index 2c924a15a7..dbe6803401 100644
--- a/testing-modules/junit-5-basics/README.md
+++ b/testing-modules/junit-5-basics/README.md
@@ -1,5 +1,4 @@
### Relevant Articles:
-- [The Basics of JUnit 5 – A Preview](http://www.baeldung.com/junit-5-preview)
- [A Guide to JUnit 5](http://www.baeldung.com/junit-5)
- [JUnit5 @RunWith](http://www.baeldung.com/junit-5-runwith)
- [Get the Path of the /src/test/resources Directory in JUnit](https://www.baeldung.com/junit-src-test-resources-directory-path)
@@ -8,4 +7,4 @@
- [@Before vs @BeforeClass vs @BeforeEach vs @BeforeAll](http://www.baeldung.com/junit-before-beforeclass-beforeeach-beforeall)
- [JUnit 5 @Test Annotation](http://www.baeldung.com/junit-5-test-annotation)
- [Migrating from JUnit 4 to JUnit 5](http://www.baeldung.com/junit-5-migration)
-- [Assert an Exception is Thrown in JUnit 4 and 5](http://www.baeldung.com/junit-assert-exception)
\ No newline at end of file
+- [Assert an Exception is Thrown in JUnit 4 and 5](http://www.baeldung.com/junit-assert-exception)
diff --git a/testing-modules/junit5-migration/README.md b/testing-modules/junit5-migration/README.md
new file mode 100644
index 0000000000..b97ff8255c
--- /dev/null
+++ b/testing-modules/junit5-migration/README.md
@@ -0,0 +1,2 @@
+
+This is the code for the Junit 4 - Junit 5 Migration E-book.
diff --git a/testing-modules/mockito/src/test/java/org/baeldung/mockito/MockitoInjectIntoSpyUnitTest.java b/testing-modules/mockito/src/test/java/org/baeldung/mockito/MockitoInjectIntoSpyUnitTest.java
index 4f5ceb04e7..568492ca10 100644
--- a/testing-modules/mockito/src/test/java/org/baeldung/mockito/MockitoInjectIntoSpyUnitTest.java
+++ b/testing-modules/mockito/src/test/java/org/baeldung/mockito/MockitoInjectIntoSpyUnitTest.java
@@ -30,7 +30,7 @@ public class MockitoInjectIntoSpyUnitTest {
private MyDictionary spyDic;
@Test
- public void whenUseInjectMocksAnnotation_thenCorrect2() {
+ public void whenUseInjectMocksAnnotation_thenCorrect() {
Mockito.when(wordMap.get("aWord")).thenReturn("aMeaning");
assertEquals("aMeaning", spyDic.getMeaning("aWord"));
diff --git a/testing-modules/pom.xml b/testing-modules/pom.xml
index 3a1c3f3bf4..8d40c668c0 100644
--- a/testing-modules/pom.xml
+++ b/testing-modules/pom.xml
@@ -36,5 +36,6 @@
junit-5-basics
easymock
junit-5-advanced
+ xmlunit-2
diff --git a/testing-modules/test-containers/pom.xml b/testing-modules/test-containers/pom.xml
index 292af2051a..bd87cb5b22 100644
--- a/testing-modules/test-containers/pom.xml
+++ b/testing-modules/test-containers/pom.xml
@@ -23,6 +23,12 @@
${junit.platform.version}
test
+
+ org.junit.platform
+ junit-platform-commons
+ ${junit.platform.version}
+ test
+
org.junit.vintage
junit-vintage-engine
@@ -59,6 +65,11 @@
selenium-remote-driver
${selenium-remote-driver.version}
+
+ org.seleniumhq.selenium
+ selenium-chrome-driver
+ ${selenium-remote-driver.version}
+
@@ -76,7 +87,7 @@
org.junit.platform
junit-platform-surefire-provider
- ${junit.platform.version}
+ ${junit-platform-surefire-provider.version}
@@ -99,15 +110,14 @@
- 1.0.1
- 4.12.1
- 2.8.2
- 2.21.0
- 5.0.1.RELEASE
- 1.7.2
- 42.2.2
- 3.12.0
- 2.21.0
+ 1.5.0
+ 5.5.0
+ 2.12.0
+ 1.11.4
+ 42.2.6
+ 3.141.59
+ 2.22.2
+ 1.3.2
diff --git a/testing-modules/test-containers/src/test/java/com/baeldung/testconainers/WebDriverContainerLiveTest.java b/testing-modules/test-containers/src/test/java/com/baeldung/testconainers/WebDriverContainerLiveTest.java
index 0e52c4e9f7..0fdf0ede79 100644
--- a/testing-modules/test-containers/src/test/java/com/baeldung/testconainers/WebDriverContainerLiveTest.java
+++ b/testing-modules/test-containers/src/test/java/com/baeldung/testconainers/WebDriverContainerLiveTest.java
@@ -2,29 +2,26 @@ package com.baeldung.testconainers;
import static org.junit.Assert.assertEquals;
-import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
import org.openqa.selenium.By;
-import org.openqa.selenium.remote.DesiredCapabilities;
+import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.remote.RemoteWebDriver;
-import org.testcontainers.DockerClientFactory;
import org.testcontainers.containers.BrowserWebDriverContainer;
-import org.testcontainers.containers.GenericContainer;
public class WebDriverContainerLiveTest {
@Rule
public BrowserWebDriverContainer chrome
= new BrowserWebDriverContainer()
- .withDesiredCapabilities(DesiredCapabilities.chrome());
+ .withCapabilities(new ChromeOptions());
@Test
public void whenNavigatedToPage_thenHeadingIsInThePage() {
RemoteWebDriver driver = chrome.getWebDriver();
- driver.get("https://saucelabs.com/test/guinea-pig");
- String heading = driver.findElement(By.xpath("/html/body/h1"))
+ driver.get("http://example.com");
+ String heading = driver.findElement(By.xpath("/html/body/div/h1"))
.getText();
- assertEquals("This page is a Selenium sandbox", heading);
+ assertEquals("Example Domain", heading);
}
}
diff --git a/xmlunit-2/README.md b/testing-modules/xmlunit-2/README.md
similarity index 100%
rename from xmlunit-2/README.md
rename to testing-modules/xmlunit-2/README.md
diff --git a/xmlunit-2/pom.xml b/testing-modules/xmlunit-2/pom.xml
similarity index 94%
rename from xmlunit-2/pom.xml
rename to testing-modules/xmlunit-2/pom.xml
index 9e146ccf33..aa516bfcc5 100644
--- a/xmlunit-2/pom.xml
+++ b/testing-modules/xmlunit-2/pom.xml
@@ -1,15 +1,14 @@
4.0.0
- com.baeldung
xmlunit-2
- 1.0
xmlunit-2
com.baeldung
parent-modules
1.0.0-SNAPSHOT
+ ../../
diff --git a/xmlunit-2/src/main/java/com/baeldung/xmlunit/IgnoreAttributeDifferenceEvaluator.java b/testing-modules/xmlunit-2/src/main/java/com/baeldung/xmlunit/IgnoreAttributeDifferenceEvaluator.java
similarity index 100%
rename from xmlunit-2/src/main/java/com/baeldung/xmlunit/IgnoreAttributeDifferenceEvaluator.java
rename to testing-modules/xmlunit-2/src/main/java/com/baeldung/xmlunit/IgnoreAttributeDifferenceEvaluator.java
diff --git a/rest-with-spark-java/src/main/resources/logback.xml b/testing-modules/xmlunit-2/src/main/resources/logback.xml
similarity index 100%
rename from rest-with-spark-java/src/main/resources/logback.xml
rename to testing-modules/xmlunit-2/src/main/resources/logback.xml
diff --git a/xmlunit-2/src/test/java/com/baeldung/xmlunit/XMLUnitTest.java b/testing-modules/xmlunit-2/src/test/java/com/baeldung/xmlunit/XMLUnitTest.java
similarity index 100%
rename from xmlunit-2/src/test/java/com/baeldung/xmlunit/XMLUnitTest.java
rename to testing-modules/xmlunit-2/src/test/java/com/baeldung/xmlunit/XMLUnitTest.java
diff --git a/xmlunit-2/src/test/resources/control.xml b/testing-modules/xmlunit-2/src/test/resources/control.xml
similarity index 100%
rename from xmlunit-2/src/test/resources/control.xml
rename to testing-modules/xmlunit-2/src/test/resources/control.xml
diff --git a/xmlunit-2/src/test/resources/students.xml b/testing-modules/xmlunit-2/src/test/resources/students.xml
similarity index 100%
rename from xmlunit-2/src/test/resources/students.xml
rename to testing-modules/xmlunit-2/src/test/resources/students.xml
diff --git a/xmlunit-2/src/test/resources/students.xsd b/testing-modules/xmlunit-2/src/test/resources/students.xsd
similarity index 100%
rename from xmlunit-2/src/test/resources/students.xsd
rename to testing-modules/xmlunit-2/src/test/resources/students.xsd
diff --git a/xmlunit-2/src/test/resources/students_with_error.xml b/testing-modules/xmlunit-2/src/test/resources/students_with_error.xml
similarity index 100%
rename from xmlunit-2/src/test/resources/students_with_error.xml
rename to testing-modules/xmlunit-2/src/test/resources/students_with_error.xml
diff --git a/xmlunit-2/src/test/resources/teachers.xml b/testing-modules/xmlunit-2/src/test/resources/teachers.xml
similarity index 100%
rename from xmlunit-2/src/test/resources/teachers.xml
rename to testing-modules/xmlunit-2/src/test/resources/teachers.xml
diff --git a/xmlunit-2/src/test/resources/test.xml b/testing-modules/xmlunit-2/src/test/resources/test.xml
similarity index 100%
rename from xmlunit-2/src/test/resources/test.xml
rename to testing-modules/xmlunit-2/src/test/resources/test.xml
diff --git a/xml/pom.xml b/xml/pom.xml
index 123875b1d9..540b1fc03b 100644
--- a/xml/pom.xml
+++ b/xml/pom.xml
@@ -1,4 +1,5 @@
-
4.0.0
xml
@@ -14,7 +15,7 @@
- dom4j
+ org.dom4j
dom4j
${dom4j.version}
@@ -23,18 +24,31 @@
jaxen
${jaxen.version}
-
+
+ org.jooq
+ joox-java-6
+ ${joox.version}
+
org.jdom
jdom2
${jdom2.version}
-
- javax.xml
+ javax.xml.bind
jaxb-api
${jaxb-api.version}
+
+ com.sun.xml.bind
+ jaxb-impl
+ ${jaxb-impl.version}
+
+
+ com.sun.xml.bind
+ jaxb-core
+ ${jaxb-core.version}
+
javax.xml
jaxp-api
@@ -45,7 +59,17 @@
stax-api
${stax-api.version}
-
+
+
+ org.openjdk.jmh
+ jmh-core
+ ${jmh.version}
+
+
+ org.openjdk.jmh
+ jmh-generator-annprocess
+ ${jmh.version}
+
commons-io
@@ -76,6 +100,31 @@
commons-lang
${commons-lang.version}
+
+
+ org.junit.jupiter
+ junit-jupiter
+ ${junit-jupiter.version}
+ test
+
+
+ org.junit.vintage
+ junit-vintage-engine
+ ${junit-jupiter.version}
+ test
+
+
+ org.assertj
+ assertj-core
+ ${assertj-core.version}
+ test
+
+
+ org.xmlunit
+ xmlunit-assertj
+ ${xmlunit-assertj.version}
+ test
+
@@ -86,6 +135,16 @@
true
+
+
+ maven-compiler-plugin
+ ${maven-compiler-plugin.version}
+
+
+ maven-surefire-plugin
+ ${maven-surefire-plugin.version}
+
+
@@ -213,7 +272,8 @@
-
+
maven-assembly-plugin
${project.basedir}
@@ -232,8 +292,10 @@
- make-assembly
- package
+ make-assembly
+ package
attached
@@ -246,17 +308,31 @@
- 1.6.1
- 1.1.6
+ 2.1.1
+ 1.2.0
2.0.6
+ 1.6.2
+ 2.5
4.1
1.2.4.5
- 2.1
+ 2.3.1
1.4.2
+ 2.3.0.1
+ 2.3.2
1.0-2
+ 3.12.2
+ 2.6.3
+ 5.5.0
+ 1.21
+
+ 3.5
+ 2.4
+ 1.8
1.3.1
+ 3.8.0
+ 2.22.2
diff --git a/xml/src/main/java/com/baeldung/xml/attribute/Dom4jTransformer.java b/xml/src/main/java/com/baeldung/xml/attribute/Dom4jTransformer.java
new file mode 100644
index 0000000000..a1922ad224
--- /dev/null
+++ b/xml/src/main/java/com/baeldung/xml/attribute/Dom4jTransformer.java
@@ -0,0 +1,45 @@
+package com.baeldung.xml.attribute;
+
+import org.dom4j.*;
+import org.dom4j.io.DocumentSource;
+import org.dom4j.io.SAXReader;
+
+import javax.xml.XMLConstants;
+import javax.xml.transform.OutputKeys;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerException;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.stream.StreamResult;
+import java.io.StringWriter;
+import java.io.Writer;
+import java.util.List;
+
+public class Dom4jTransformer {
+ private final Document input;
+
+ public Dom4jTransformer(String resourcePath) throws DocumentException {
+ // 1- Build the doc from the XML file
+ SAXReader xmlReader = new SAXReader();
+ this.input = xmlReader.read(resourcePath);
+ }
+
+ public String modifyAttribute(String attribute, String oldValue, String newValue) throws TransformerException {
+ // 2- Locate the node(s) with xpath, we can use index and iterator too.
+ String expr = String.format("//*[contains(@%s, '%s')]", attribute, oldValue);
+ XPath xpath = DocumentHelper.createXPath(expr);
+ List nodes = xpath.selectNodes(input);
+ // 3- Make the change on the selected nodes
+ for (int i = 0; i < nodes.size(); i++) {
+ Element element = (Element) nodes.get(i);
+ element.addAttribute(attribute, newValue);
+ }
+ // 4- Save the result to a new XML doc
+ TransformerFactory factory = TransformerFactory.newInstance();
+ factory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
+ Transformer xformer = factory.newTransformer();
+ xformer.setOutputProperty(OutputKeys.INDENT, "yes");
+ Writer output = new StringWriter();
+ xformer.transform(new DocumentSource(input), new StreamResult(output));
+ return output.toString();
+ }
+}
diff --git a/xml/src/main/java/com/baeldung/xml/attribute/JaxpTransformer.java b/xml/src/main/java/com/baeldung/xml/attribute/JaxpTransformer.java
new file mode 100644
index 0000000000..a2266a2b44
--- /dev/null
+++ b/xml/src/main/java/com/baeldung/xml/attribute/JaxpTransformer.java
@@ -0,0 +1,63 @@
+package com.baeldung.xml.attribute;
+
+import java.io.IOException;
+import java.io.StringWriter;
+import java.io.Writer;
+
+import javax.xml.XMLConstants;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.transform.OutputKeys;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerException;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.TransformerFactoryConfigurationError;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamResult;
+import javax.xml.xpath.XPath;
+import javax.xml.xpath.XPathConstants;
+import javax.xml.xpath.XPathExpressionException;
+import javax.xml.xpath.XPathFactory;
+
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
+import org.xml.sax.SAXException;
+
+public class JaxpTransformer {
+
+ private Document input;
+
+ public JaxpTransformer(String resourcePath) throws SAXException, IOException, ParserConfigurationException {
+ // 1- Build the doc from the XML file
+ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+ factory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
+ input = factory.newDocumentBuilder()
+ .parse(resourcePath);
+ }
+
+ public String modifyAttribute(String attribute, String oldValue, String newValue) throws XPathExpressionException, TransformerFactoryConfigurationError, TransformerException {
+ // 2- Locate the node(s) with xpath
+ XPath xpath = XPathFactory.newInstance()
+ .newXPath();
+ NodeList nodes = (NodeList) xpath.evaluate(String.format("//*[contains(@%s, '%s')]", attribute, oldValue), input, XPathConstants.NODESET);
+ // 3- Make the change on the selected nodes
+ for (int i = 0; i < nodes.getLength(); i++) {
+ Element value = (Element) nodes.item(i);
+ value.setAttribute(attribute, newValue);
+ }
+ //Stream api syntax
+ // IntStream
+ // .range(0, nodes.getLength())
+ // .mapToObj(i -> (Element) nodes.item(i))
+ // .forEach(value -> value.setAttribute(attribute, newValue));
+ // 4- Save the result to a new XML doc
+ TransformerFactory factory = TransformerFactory.newInstance();
+ factory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
+ Transformer xformer = factory.newTransformer();
+ xformer.setOutputProperty(OutputKeys.INDENT, "yes");
+ Writer output = new StringWriter();
+ xformer.transform(new DOMSource(input), new StreamResult(output));
+ return output.toString();
+ }
+}
diff --git a/xml/src/main/java/com/baeldung/xml/attribute/JooxTransformer.java b/xml/src/main/java/com/baeldung/xml/attribute/JooxTransformer.java
new file mode 100644
index 0000000000..d36d60ec59
--- /dev/null
+++ b/xml/src/main/java/com/baeldung/xml/attribute/JooxTransformer.java
@@ -0,0 +1,38 @@
+package com.baeldung.xml.attribute;
+
+import org.joox.JOOX;
+import org.joox.Match;
+import org.w3c.dom.Document;
+import org.xml.sax.SAXException;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.transform.TransformerFactoryConfigurationError;
+import java.io.IOException;
+
+import static org.joox.JOOX.$;
+
+public class JooxTransformer {
+
+ private final Document input;
+
+ public JooxTransformer(String resourcePath) throws SAXException, IOException {
+ // 1- Build the doc from the XML file
+ DocumentBuilder builder = JOOX.builder();
+ input = builder.parse(resourcePath);
+ }
+
+ public String modifyAttribute(String attribute, String oldValue, String newValue) throws TransformerFactoryConfigurationError {
+ // 2- Select the document
+ Match $ = $(input);
+ // 3 - Find node to modify
+ String expr = String.format("//*[contains(@%s, '%s')]", attribute, oldValue);
+ $
+ // .find("to") or with xpath
+ .xpath(expr)
+ .get()
+ .stream()
+ .forEach(e -> e.setAttribute(attribute, newValue));
+ // 4- Return result as String
+ return $.toString();
+ }
+}
diff --git a/xml/src/main/java/com/baeldung/xml/attribute/jmh/AttributeBenchMark.java b/xml/src/main/java/com/baeldung/xml/attribute/jmh/AttributeBenchMark.java
new file mode 100644
index 0000000000..064e181713
--- /dev/null
+++ b/xml/src/main/java/com/baeldung/xml/attribute/jmh/AttributeBenchMark.java
@@ -0,0 +1,72 @@
+package com.baeldung.xml.attribute.jmh;
+
+import org.dom4j.DocumentException;
+import org.openjdk.jmh.annotations.*;
+import org.openjdk.jmh.runner.Runner;
+import org.openjdk.jmh.runner.RunnerException;
+import org.openjdk.jmh.runner.options.Options;
+import org.openjdk.jmh.runner.options.OptionsBuilder;
+import org.xml.sax.SAXException;
+
+import com.baeldung.xml.attribute.Dom4jTransformer;
+import com.baeldung.xml.attribute.JaxpTransformer;
+import com.baeldung.xml.attribute.JooxTransformer;
+
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.transform.TransformerException;
+import javax.xml.xpath.XPathExpressionException;
+import java.io.IOException;
+import java.util.concurrent.TimeUnit;
+
+@BenchmarkMode(Mode.AverageTime)
+@OutputTimeUnit(TimeUnit.MILLISECONDS)
+@State(Scope.Benchmark)
+public class AttributeBenchMark {
+
+ public static void main(String[] args) throws RunnerException {
+ Options opt = new OptionsBuilder()
+ .include(AttributeBenchMark.class.getSimpleName())
+ .forks(1)
+ .build();
+ new Runner(opt).run();
+ }
+
+ @Benchmark
+ public String dom4jBenchmark() throws DocumentException, TransformerException {
+ String path = getClass()
+ .getResource("/xml/attribute.xml")
+ .toString();
+ Dom4jTransformer transformer = new Dom4jTransformer(path);
+ String attribute = "customer";
+ String oldValue = "true";
+ String newValue = "false";
+
+ return transformer.modifyAttribute(attribute, oldValue, newValue);
+ }
+
+ @Benchmark
+ public String jooxBenchmark() throws IOException, SAXException {
+ String path = getClass()
+ .getResource("/xml/attribute.xml")
+ .toString();
+ JooxTransformer transformer = new JooxTransformer(path);
+ String attribute = "customer";
+ String oldValue = "true";
+ String newValue = "false";
+
+ return transformer.modifyAttribute(attribute, oldValue, newValue);
+ }
+
+ @Benchmark
+ public String jaxpBenchmark() throws TransformerException, ParserConfigurationException, SAXException, IOException, XPathExpressionException {
+ String path = getClass()
+ .getResource("/xml/attribute.xml")
+ .toString();
+ JaxpTransformer transformer = new JaxpTransformer(path);
+ String attribute = "customer";
+ String oldValue = "true";
+ String newValue = "false";
+
+ return transformer.modifyAttribute(attribute, oldValue, newValue);
+ }
+}
diff --git a/xml/src/main/resources/xml/attribute.xml b/xml/src/main/resources/xml/attribute.xml
new file mode 100644
index 0000000000..c8fa3f1071
--- /dev/null
+++ b/xml/src/main/resources/xml/attribute.xml
@@ -0,0 +1,5 @@
+
+
+ john@email.com
+ mary@email.com
+
\ No newline at end of file
diff --git a/xml/src/main/resources/xml/attribute_expected.xml b/xml/src/main/resources/xml/attribute_expected.xml
new file mode 100644
index 0000000000..1d5d7b0cea
--- /dev/null
+++ b/xml/src/main/resources/xml/attribute_expected.xml
@@ -0,0 +1,5 @@
+
+
+ john@email.com
+ mary@email.com
+
\ No newline at end of file
diff --git a/xml/src/test/java/com/baeldung/xml/attribute/Dom4jProcessorUnitTest.java b/xml/src/test/java/com/baeldung/xml/attribute/Dom4jProcessorUnitTest.java
new file mode 100644
index 0000000000..485744f9a5
--- /dev/null
+++ b/xml/src/test/java/com/baeldung/xml/attribute/Dom4jProcessorUnitTest.java
@@ -0,0 +1,55 @@
+package com.baeldung.xml.attribute;
+
+import org.dom4j.DocumentException;
+import org.junit.jupiter.api.Test;
+
+import javax.xml.transform.TransformerException;
+import javax.xml.transform.TransformerFactoryConfigurationError;
+import java.io.IOException;
+import java.net.URISyntaxException;
+import java.nio.file.Files;
+import java.nio.file.Paths;
+
+import static org.xmlunit.assertj.XmlAssert.assertThat;
+
+/**
+ * Unit test for {@link Dom4jTransformer}.
+ */
+public class Dom4jProcessorUnitTest {
+
+ @Test
+ public void givenXmlWithAttributes_whenModifyAttribute_thenGetXmlUpdated() throws TransformerFactoryConfigurationError, TransformerException, DocumentException {
+ String path = getClass()
+ .getResource("/xml/attribute.xml")
+ .toString();
+ Dom4jTransformer transformer = new Dom4jTransformer(path);
+ String attribute = "customer";
+ String oldValue = "true";
+ String newValue = "false";
+
+ String result = transformer.modifyAttribute(attribute, oldValue, newValue);
+
+ assertThat(result).hasXPath("//*[contains(@customer, 'false')]");
+ }
+
+ @Test
+ public void givenTwoXml_whenModifyAttribute_thenGetSimilarXml() throws IOException, TransformerFactoryConfigurationError, TransformerException, URISyntaxException, DocumentException {
+ String path = getClass()
+ .getResource("/xml/attribute.xml")
+ .toString();
+ Dom4jTransformer transformer = new Dom4jTransformer(path);
+ String attribute = "customer";
+ String oldValue = "true";
+ String newValue = "false";
+ String expectedXml = new String(Files.readAllBytes((Paths.get(getClass()
+ .getResource("/xml/attribute_expected.xml")
+ .toURI()))));
+
+ String result = transformer.modifyAttribute(attribute, oldValue, newValue);
+
+ assertThat(result)
+ .and(expectedXml)
+ .areSimilar();
+ }
+
+}
diff --git a/xml/src/test/java/com/baeldung/xml/attribute/JaxpProcessorUnitTest.java b/xml/src/test/java/com/baeldung/xml/attribute/JaxpProcessorUnitTest.java
new file mode 100644
index 0000000000..8394016dbd
--- /dev/null
+++ b/xml/src/test/java/com/baeldung/xml/attribute/JaxpProcessorUnitTest.java
@@ -0,0 +1,34 @@
+package com.baeldung.xml.attribute;
+
+import static org.xmlunit.assertj.XmlAssert.assertThat;
+
+import java.io.IOException;
+
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.transform.TransformerException;
+import javax.xml.transform.TransformerFactoryConfigurationError;
+import javax.xml.xpath.XPathExpressionException;
+
+import org.junit.jupiter.api.Test;
+import org.xml.sax.SAXException;
+
+/**
+ * Unit test for {@link JaxpTransformer}.
+ */
+public class JaxpProcessorUnitTest {
+
+ @Test
+ public void givenXmlWithAttributes_whenModifyAttribute_thenGetXmlUpdated() throws IOException, SAXException, ParserConfigurationException, XPathExpressionException, TransformerFactoryConfigurationError, TransformerException {
+ String path = getClass().getResource("/xml/attribute.xml")
+ .toString();
+ JaxpTransformer transformer = new JaxpTransformer(path);
+ String attribute = "customer";
+ String oldValue = "true";
+ String newValue = "false";
+
+ String result = transformer.modifyAttribute(attribute, oldValue, newValue);
+
+ assertThat(result).hasXPath("//*[contains(@customer, 'false')]");
+ }
+
+}
diff --git a/xml/src/test/java/com/baeldung/xml/attribute/JooxProcessorUnitTest.java b/xml/src/test/java/com/baeldung/xml/attribute/JooxProcessorUnitTest.java
new file mode 100644
index 0000000000..38c7c59789
--- /dev/null
+++ b/xml/src/test/java/com/baeldung/xml/attribute/JooxProcessorUnitTest.java
@@ -0,0 +1,54 @@
+package com.baeldung.xml.attribute;
+
+import org.junit.jupiter.api.Test;
+import org.xml.sax.SAXException;
+
+import javax.xml.transform.TransformerFactoryConfigurationError;
+import java.io.IOException;
+import java.net.URISyntaxException;
+import java.nio.file.Files;
+import java.nio.file.Paths;
+
+import static org.xmlunit.assertj.XmlAssert.assertThat;
+
+/**
+ * Unit test for {@link JooxTransformer}.
+ */
+public class JooxProcessorUnitTest {
+
+ @Test
+ public void givenXmlWithAttributes_whenModifyAttribute_thenGetXmlUpdated() throws IOException, SAXException, TransformerFactoryConfigurationError {
+ String path = getClass()
+ .getResource("/xml/attribute.xml")
+ .toString();
+ JooxTransformer transformer = new JooxTransformer(path);
+ String attribute = "customer";
+ String oldValue = "true";
+ String newValue = "false";
+
+ String result = transformer.modifyAttribute(attribute, oldValue, newValue);
+
+ assertThat(result).hasXPath("//*[contains(@customer, 'false')]");
+ }
+
+ @Test
+ public void givenTwoXml_whenModifyAttribute_thenGetSimilarXml() throws IOException, TransformerFactoryConfigurationError, URISyntaxException, SAXException {
+ String path = getClass()
+ .getResource("/xml/attribute.xml")
+ .toString();
+ JooxTransformer transformer = new JooxTransformer(path);
+ String attribute = "customer";
+ String oldValue = "true";
+ String newValue = "false";
+ String expectedXml = new String(Files.readAllBytes((Paths.get(getClass()
+ .getResource("/xml/attribute_expected.xml")
+ .toURI()))));
+
+ String result = transformer.modifyAttribute(attribute, oldValue, newValue);
+
+ assertThat(result)
+ .and(expectedXml)
+ .areSimilar();
+ }
+
+}
diff --git a/xml/src/test/resources/xml/attribute.xml b/xml/src/test/resources/xml/attribute.xml
new file mode 100644
index 0000000000..c8fa3f1071
--- /dev/null
+++ b/xml/src/test/resources/xml/attribute.xml
@@ -0,0 +1,5 @@
+
+
+ john@email.com
+ mary@email.com
+
\ No newline at end of file
diff --git a/xml/src/test/resources/xml/attribute_expected.xml b/xml/src/test/resources/xml/attribute_expected.xml
new file mode 100644
index 0000000000..1d5d7b0cea
--- /dev/null
+++ b/xml/src/test/resources/xml/attribute_expected.xml
@@ -0,0 +1,5 @@
+
+
+ john@email.com
+ mary@email.com
+
\ No newline at end of file
diff --git a/xmlunit-2/src/main/resources/logback.xml b/xmlunit-2/src/main/resources/logback.xml
deleted file mode 100644
index 7d900d8ea8..0000000000
--- a/xmlunit-2/src/main/resources/logback.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
- %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
-
-
-
-
-
-
-
-
\ No newline at end of file