Весенние данные Mongo репозиторий нулевой
-
23-12-2019 - |
Вопрос
Я пишу автономную программу Java, которая называет хранилищем источника данных для прав человека.Я использую Mongo DB для постоянства.Я следую следующую стойку StackoverFlow и некоторые проекты из GitHub, но когда я запускаю свою программу, потерю не удается, так как репозиторий нулевой.Я не эксперт весной, так что было бы полезно, если бы кто-то мог показать мне вопрос с опубликованной программой.
Application-context.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
xmlns:mongo="http://www.springframework.org/schema/data/mongo"
xsi:schemaLocation="http://www.springframework.org/schema/data/mongo
http://www.springframework.org/schema/data/mongo/spring-mongo.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<mongo:mongo id="mongo" host="monopolyvm3" port="27017" />
<mongo:db-factory dbname="test" mongo-ref="mongo" />
<mongo:db-factory id="mongoDbFactory" dbname="cloud"
mongo-ref="mongo" />
<bean id="mappingContext" class="org.springframework.data.mongodb.core.mapping.MongoMappingContext" />
<bean id="defaultMongoTypeMapper"
class="org.springframework.data.mongodb.core.convert.DefaultMongoTypeMapper">
<constructor-arg name="typeKey"><null/></constructor-arg>
</bean>
<bean id="mappingMongoConverter" class="org.springframework.data.mongodb.core.convert.MappingMongoConverter">
<constructor-arg name="mongoDbFactory" ref="mongoDbFactory" />
<constructor-arg name="mappingContext" ref="mappingContext" />
<property name="typeMapper" ref="defaultMongoTypeMapper" />
</bean>
<bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
<constructor-arg ref="mongoDbFactory" />
<constructor-arg name="mongoConverter" ref="mappingMongoConverter" />
<property name="writeConcern" value="SAFE" />
</bean>
<context:component-scan base-package="com.xxxx"></context:component-scan>
<mongo:repositories base-package="com.xxxx.yyyy" />
.
Репозиторий
public interface SlpRepository extends MongoRepository<Slp, Long> {
}
.
Основная программа
public class App {
@Autowired
static
SlpRepository slpRepository;
public static void main(String[] args) {
ApplicationContext ctx = new GenericXmlApplicationContext("application-context.xml");
Slp slp = new Slp();
slp.setClientCount(100000L);
slp.setPolicyName("testing");
slp.setSlpName("slp_testing");
slpRepository.save(slp);
}
}
Object to store
------------------
@Document(collection="slps")
public class Slp implements Serializable {
private Long slpId;
private String slpName;
private String policyName;
private Long clientCount;
}
.....all getters and setters
.
jfyi..i пытался сохранить объект, используя монготемпературу, и он хорошо работает.
Решение
Проблема в этом примере заключается в том, что вы создаете контекст в вашем классе App, но никогда не получаете ручку репозитория из контекста приложения.Вы не можете автоматически проволоки в тот же класс, который содержит контекст приложения.То, что вы можете попробовать, - это принять экземпляр репозитория из контекста (I.E CTX.getBean (SLPRPOSIOGITY.CLASS)).