Skip to content

Instantly share code, notes, and snippets.

View rbaul's full-sized avatar

Roman Baul rbaul

View GitHub Profile
@rbaul
rbaul / SwaggerConfig.java
Last active March 8, 2021 17:01
Swagger configuration of Bearer Authentication
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.AuthorizationScopeBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.ApiKey;
import springfox.documentation.service.AuthorizationScope;
@rbaul
rbaul / SecurityConfigDisable.java
Created January 2, 2019 14:00
Spring Boot 2.0 - Disable security configuration (default enabled)
import org.springframework.context.annotation.Profile;
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;
@EnableWebSecurity
public class SecurityConfigDisable extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
@rbaul
rbaul / AuditableEntity.java
Last active June 23, 2022 22:26
Auditing Configuration (Spring Boot 2.0)
import lombok.*;
import org.springframework.data.annotation.CreatedBy;
import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.annotation.LastModifiedBy;
import org.springframework.data.annotation.LastModifiedDate;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
import javax.persistence.EntityListeners;
import javax.persistence.MappedSuperclass;
import java.util.Calendar;
@rbaul
rbaul / Dockerfile
Created January 2, 2019 18:04
Docker file Multi-Stage Java-Gradle
### Stage 1 ###
FROM openjdk:8 AS BUILD_IMAGE
ENV APP_HOME=/root/dev/myapp/
RUN mkdir -p $APP_HOME/src/main/java
WORKDIR $APP_HOME
COPY build.gradle gradlew gradlew.bat $APP_HOME
COPY gradle $APP_HOME/gradle
# download dependencies
RUN ./gradlew build -x :bootRepackage -x test --continue
COPY . .
@rbaul
rbaul / SpringBeanUtil.java
Created January 2, 2019 18:49
Spring Bean Util for get specific bean from application/request context
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Service;
import org.springframework.web.context.request.RequestContextHolder;
import java.util.Objects;
@Service
public class SpringBeanUtil implements ApplicationContextAware {
@rbaul
rbaul / EnumUtils.java
Created January 3, 2019 09:22
Enum multi fields per different clients
import java.util.Arrays;
import java.util.Optional;
import java.util.function.Predicate;
public final class EnumUtils {
public static <E extends Enum<E>> Optional<E> getByPredicate(final Class<E> enumClass, Predicate<E> predicate){
return Arrays.stream(enumClass.getEnumConstants())
.filter(predicate)
.findFirst();
@rbaul
rbaul / AppStartupRunner.java
Created January 3, 2019 12:44
Spring Application get server context path
@Slf4j
@Component
public class AppStartupRunner implements ApplicationRunner {
@Autowired
private ServletContext servletContext;
@Override
public void run(ApplicationArguments args) throws Exception {
log.info(">>>>>>> Context Path is : {}", servletContext.getContextPath()); // Result: "/my-context"
@rbaul
rbaul / SwaggerServicesConfig.java
Last active January 3, 2019 13:02
Custom Configuration Properties
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import java.util.List;
@Getter
@rbaul
rbaul / ContextApplicationTests.java
Created January 14, 2019 12:43
Application context loads test (Change to H2 DB and set local profile)
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.ActiveProfiles;
import org.springframework.test.context.junit4.SpringRunner;
@RunWith(SpringRunner.class)
@SpringBootTest
@AutoConfigureTestDatabase
@rbaul
rbaul / package-info.java
Created January 14, 2019 12:44
Convert hibernate type from UUID to UUIDCharType in package
@TypeDefs({
@TypeDef(defaultForType = UUID.class, typeClass = UUIDCharType.class)
})
package com.example;
import org.hibernate.annotations.TypeDef;
import org.hibernate.annotations.TypeDefs;
import org.hibernate.type.UUIDCharType;
import java.util.UUID;