Allow Mongo support without Spring Data MongoDB

Closes gh-4049
This commit is contained in:
Stephane Nicoll 2015-09-30 14:56:59 +02:00
parent b14756a7bb
commit eeaa1df1dd
3 changed files with 16 additions and 8 deletions

View File

@ -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;
}

View File

@ -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<? extends FieldNamingStrategy> fieldNamingStrategy;
private Class<?> fieldNamingStrategy;
public String getHost() {
return this.host;
@ -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;
}

View File

@ -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": [