Browse Source

Allow Mongo support without Spring Data MongoDB

Closes gh-4049
pull/4069/head
Stephane Nicoll 10 years ago
parent
commit
eeaa1df1dd
  1. 5
      spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/mongo/MongoDataAutoConfiguration.java
  2. 8
      spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/mongo/MongoProperties.java
  3. 11
      spring-boot-autoconfigure/src/main/resources/META-INF/additional-spring-configuration-metadata.json

5
spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/mongo/MongoDataAutoConfiguration.java

@ -140,10 +140,9 @@ public class MongoDataAutoConfiguration implements BeanClassLoaderAware { @@ -140,10 +140,9 @@ public class MongoDataAutoConfiguration implements BeanClassLoaderAware {
throws ClassNotFoundException {
MongoMappingContext context = new MongoMappingContext();
context.setInitialEntitySet(getInitialEntitySet(beanFactory));
Class<? extends FieldNamingStrategy> 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;
}

8
spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/mongo/MongoProperties.java

@ -22,7 +22,6 @@ import java.util.List; @@ -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 { @@ -91,7 +90,7 @@ public class MongoProperties {
/**
* Fully qualified name of the FieldNamingStrategy to use.
*/
private Class<? extends FieldNamingStrategy> fieldNamingStrategy;
private Class<?> fieldNamingStrategy;
public String getHost() {
return this.host;
@ -133,12 +132,11 @@ public class MongoProperties { @@ -133,12 +132,11 @@ public class MongoProperties {
this.password = password;
}
public Class<? extends FieldNamingStrategy> getFieldNamingStrategy() {
public Class<?> getFieldNamingStrategy() {
return this.fieldNamingStrategy;
}
public void setFieldNamingStrategy(
Class<? extends FieldNamingStrategy> fieldNamingStrategy) {
public void setFieldNamingStrategy(Class<?> fieldNamingStrategy) {
this.fieldNamingStrategy = fieldNamingStrategy;
}

11
spring-boot-autoconfigure/src/main/resources/META-INF/additional-spring-configuration-metadata.json

@ -196,6 +196,17 @@ @@ -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": [

Loading…
Cancel
Save