簡體   English   中英

無法將mongoDB主機設置為MongoRepository

[英]Cannot set mongoDB host to MongoRepository

我有以下用戶結構:

@Document
public class User {
    @Id
    private String _id;
    private String role;
    private String username;
}

和一個mongo 存儲庫接口:

public interface UserRepository extends MongoRepository<User, String>{
}

我將以下配置放在XML文件中:

<mongo:mongo host="www.example.com" port="12345"/>

<bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
    <constructor-arg ref="mongo"/>
    <constructor-arg name="databaseName" value="geospatial"/>
</bean>

現在我嘗試保存用戶:

@Autowired
private UserRepository userRepository;

public void foo() {
    User newUser = new User();
    newUser.setUsername("Humberd");
    newUser.setRole("USER");
    userRepository.insert(newUser);
}

盡管將主機設置為“www.example.com”, spring仍然連接到我的localhost:

org.mongodb.driver.connection            : Opened connection [connectionId{localValue:2, serverValue:42}] to localhost:27017

我究竟做錯了什么? 如何將主機設置為自定義主機?

這是我最后做的:

@Configuration
@EnableMongoRepositories(basePackages = {"com.tryton.repositories"})
public class MongoConfig extends AbstractMongoConfiguration {

    private String host = "myhost";
    private int port = 12345;
    private String databaseName = "fooDB";

    @Override
    protected String getDatabaseName() {
        return databaseName;
    }

    @Override
    public Mongo mongo() throws Exception {
        return new Mongo(host, port);
    }

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM