Skip to content

Instantly share code, notes, and snippets.

@j-tim
j-tim / pom.xml
Created May 17, 2020 20:32
Spring Boot actuator Maven
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
@j-tim
j-tim / pom.xml
Created May 17, 2020 20:28
Spring Boot 2.3 validation starter not a transitive dependency from web starters anymore
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
@j-tim
j-tim / Customer.java
Created May 17, 2020 20:27
Customer validation annotations
package com.example.validation;
import lombok.Data;
import javax.validation.constraints.Email;
import javax.validation.constraints.NotBlank;
@Data
public class Customer {
@j-tim
j-tim / CustomerController.java
Created May 17, 2020 20:26
Spring MVC Restcontroller - Validation
package com.example.validation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import javax.validation.Valid;
@Slf4j
@j-tim
j-tim / CustomerRepositoryTest.java
Created May 16, 2020 09:24
Spring Boot 2.3 - Spring Data R2dbc - @DataR2dbcTest test slice
package com.example.r2dbc;
import io.r2dbc.spi.ConnectionFactory;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.data.r2dbc.DataR2dbcTest;
import org.springframework.core.io.DefaultResourceLoader;
import org.springframework.core.io.Resource;
import org.springframework.core.io.ResourceLoader;
import org.springframework.data.r2dbc.connectionfactory.init.ResourceDatabasePopulator;
@j-tim
j-tim / pom.xml
Created May 15, 2020 09:50
Spring Boot 2.3 Maven project pom example
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.0.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
@j-tim
j-tim / SomeService.java
Created May 1, 2020 15:50
Spring Boot 2.3.0 @ConditionalOnWarDeployment example
package nl.jtim.conditional.on.war.deployment;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.autoconfigure.condition.ConditionalOnWarDeployment;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@j-tim
j-tim / KafkaTopicConfiguration.java
Created April 10, 2020 12:18
Spring Kafka configuration example to programmatically create a Kafka topic with 3 replicas
package io.stockgeeks.kafka.config;
import org.apache.kafka.clients.admin.NewTopic;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.kafka.config.TopicBuilder;
@Configuration
public class KafkaTopicConfiguration {
@j-tim
j-tim / KafkaTopicConfiguration.java
Created April 10, 2020 12:14
Spring Kafka topic configuration. Override partitions for existing topic
package io.stockgeeks.kafka.config;
import org.apache.kafka.clients.admin.NewTopic;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.kafka.config.TopicBuilder;
@Configuration
public class KafkaTopicConfiguration {
@j-tim
j-tim / KafkaTopicConfiguration.java
Created April 10, 2020 12:11
Non Spring Boot Kafka topic configuration.
package io.stockgeeks.kafka.config;
import org.apache.kafka.clients.admin.AdminClientConfig;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.kafka.core.KafkaAdmin;
import java.util.HashMap;
import java.util.Map;