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 { throws ClassNotFoundException {
MongoMappingContext context = new MongoMappingContext(); MongoMappingContext context = new MongoMappingContext();
context.setInitialEntitySet(getInitialEntitySet(beanFactory)); context.setInitialEntitySet(getInitialEntitySet(beanFactory));
Class<? extends FieldNamingStrategy> strategyClass = this.properties Class<?> strategyClass = this.properties.getFieldNamingStrategy();
.getFieldNamingStrategy();
if (strategyClass != null) { if (strategyClass != null) {
context.setFieldNamingStrategy(BeanUtils.instantiate(strategyClass)); context.setFieldNamingStrategy((FieldNamingStrategy) BeanUtils.instantiate(strategyClass));
} }
return context; return context;
} }

View File

@ -22,7 +22,6 @@ import java.util.List;
import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.core.env.Environment; import org.springframework.core.env.Environment;
import org.springframework.data.mapping.model.FieldNamingStrategy;
import com.mongodb.MongoClient; import com.mongodb.MongoClient;
import com.mongodb.MongoClientOptions; import com.mongodb.MongoClientOptions;
@ -91,7 +90,7 @@ public class MongoProperties {
/** /**
* Fully qualified name of the FieldNamingStrategy to use. * Fully qualified name of the FieldNamingStrategy to use.
*/ */
private Class<? extends FieldNamingStrategy> fieldNamingStrategy; private Class<?> fieldNamingStrategy;
public String getHost() { public String getHost() {
return this.host; return this.host;
@ -133,12 +132,11 @@ public class MongoProperties {
this.password = password; this.password = password;
} }
public Class<? extends FieldNamingStrategy> getFieldNamingStrategy() { public Class<?> getFieldNamingStrategy() {
return this.fieldNamingStrategy; return this.fieldNamingStrategy;
} }
public void setFieldNamingStrategy( public void setFieldNamingStrategy(Class<?> fieldNamingStrategy) {
Class<? extends FieldNamingStrategy> fieldNamingStrategy) {
this.fieldNamingStrategy = 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", "name": "spring.datasource.driver-class-name",
"providers": [ "providers": [