AutoConfigurations
xxxxxxxxxx
package com.example;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class MySpringBootApp {
public static void main(String[] args) { // (1)
SpringApplication.run(MySpringBootApp.class, args);
}
}
xxxxxxxxxx
package com.marcobehler;
import org.springframework.context.annotation.Condition;
import org.springframework.context.annotation.ConditionContext;
import org.springframework.core.type.AnnotatedTypeMetadata;
public class IsRelationalDatabaseCondition implements Condition {
@Override
public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) { // (1)
return oracleJdbcDriverOnClassPath() && databaseUrlSet(context); // (2)
}
private boolean databaseUrlSet(ConditionContext context) { // (3)
return context.getEnvironment().containsProperty("spring.datasource.url");
}
private boolean oracleJdbcDriverOnClassPath() { // (4)
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
return true;
} catch (ClassNotFoundException e) {
return false;
}
}
}
xxxxxxxxxx
package com.marcobehler;
import org.springframework.context.annotation.Condition;
import org.springframework.context.annotation.ConditionContext;
import org.springframework.core.type.AnnotatedTypeMetadata;
public class IsRelationalDatabaseCondition implements Condition {
@Override
public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) { // (1)
return oracleJdbcDriverOnClassPath() && databaseUrlSet(context); // (2)
}
private boolean databaseUrlSet(ConditionContext context) { // (3)
return context.getEnvironment().containsProperty("spring.datasource.url");
}
private boolean oracleJdbcDriverOnClassPath() { // (4)
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
return true;
} catch (ClassNotFoundException e) {
return false;
}
}
}