From eeaa1df1dd5e346df187ae8051b31ef8040cb489 Mon Sep 17 00:00:00 2001 From: Stephane Nicoll Date: Wed, 30 Sep 2015 14:56:59 +0200 Subject: [PATCH] Allow Mongo support without Spring Data MongoDB Closes gh-4049 --- .../data/mongo/MongoDataAutoConfiguration.java | 5 ++--- .../boot/autoconfigure/mongo/MongoProperties.java | 8 +++----- .../additional-spring-configuration-metadata.json | 11 +++++++++++ 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/mongo/MongoDataAutoConfiguration.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/mongo/MongoDataAutoConfiguration.java index 46541920286..39479ceb8df 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/mongo/MongoDataAutoConfiguration.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/mongo/MongoDataAutoConfiguration.java @@ -140,10 +140,9 @@ public class MongoDataAutoConfiguration implements BeanClassLoaderAware { throws ClassNotFoundException { MongoMappingContext context = new MongoMappingContext(); context.setInitialEntitySet(getInitialEntitySet(beanFactory)); - Class strategyClass = this.properties - .getFieldNamingStrategy(); + Class strategyClass = this.properties.getFieldNamingStrategy(); if (strategyClass != null) { - context.setFieldNamingStrategy(BeanUtils.instantiate(strategyClass)); + context.setFieldNamingStrategy((FieldNamingStrategy) BeanUtils.instantiate(strategyClass)); } return context; } diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/mongo/MongoProperties.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/mongo/MongoProperties.java index e74b2c176e4..2d1c1b6eb2e 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/mongo/MongoProperties.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/mongo/MongoProperties.java @@ -22,7 +22,6 @@ import java.util.List; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.core.env.Environment; -import org.springframework.data.mapping.model.FieldNamingStrategy; import com.mongodb.MongoClient; import com.mongodb.MongoClientOptions; @@ -91,7 +90,7 @@ public class MongoProperties { /** * Fully qualified name of the FieldNamingStrategy to use. */ - private Class fieldNamingStrategy; + private Class fieldNamingStrategy; public String getHost() { return this.host; @@ -133,12 +132,11 @@ public class MongoProperties { this.password = password; } - public Class getFieldNamingStrategy() { + public Class getFieldNamingStrategy() { return this.fieldNamingStrategy; } - public void setFieldNamingStrategy( - Class fieldNamingStrategy) { + public void setFieldNamingStrategy(Class fieldNamingStrategy) { this.fieldNamingStrategy = fieldNamingStrategy; } diff --git a/spring-boot-autoconfigure/src/main/resources/META-INF/additional-spring-configuration-metadata.json b/spring-boot-autoconfigure/src/main/resources/META-INF/additional-spring-configuration-metadata.json index 88d30bc4a59..34296e3aa4f 100644 --- a/spring-boot-autoconfigure/src/main/resources/META-INF/additional-spring-configuration-metadata.json +++ b/spring-boot-autoconfigure/src/main/resources/META-INF/additional-spring-configuration-metadata.json @@ -196,6 +196,17 @@ } ] }, + { + "name": "spring.data.mongodb.field-naming-strategy", + "providers": [ + { + "name": "class-reference", + "parameters": { + "target": "org.springframework.data.mapping.model.FieldNamingStrategy" + } + } + ] + }, { "name": "spring.datasource.driver-class-name", "providers": [