Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring启动-MongoDB-MongoLab配置_Java_Spring_Mongodb_Maven_Mlab - Fatal编程技术网

Java Spring启动-MongoDB-MongoLab配置

Java Spring启动-MongoDB-MongoLab配置,java,spring,mongodb,maven,mlab,Java,Spring,Mongodb,Maven,Mlab,我正在尝试配置我的Spring Boot后端以连接到MongoDB上托管的MongoDB 问题是它试图连接到本地主机。我得到的错误是: 2017-06-12 17:34:05.046 INFO 11843 --- [127.0.0.1:27017] org.mongodb.driver.cluster : Exception in monitor thread while connecting to server 127.0.0.1:27017 com.mongo

我正在尝试配置我的Spring Boot后端以连接到MongoDB上托管的MongoDB

问题是它试图连接到本地主机。我得到的错误是:

2017-06-12 17:34:05.046  INFO 11843 --- [127.0.0.1:27017]
 org.mongodb.driver.cluster               : Exception in monitor thread while connecting to server 127.0.0.1:27017
com.mongodb.MongoSocketOpenException: Exception opening socket
        at com.mongodb.connection.SocketStream.open(SocketStream.java:63) ~[mongodb-driver-core-3.4.2.jar:na]
        at com.mongodb.connection.InternalStreamConnection.open(InternalStreamConnection.java:115) ~[mongodb-driver-core-3.4.2.jar:na]
        at com.mongodb.connection.DefaultServerMonitor$ServerMonitorRunnable.run(DefaultServerMonitor.java:113) ~[mongodb-driver-core-3.4.2.jar:na]
        at java.lang.Thread.run(Thread.java:745) [na:1.8.0_25]
Caused by: java.net.ConnectException: Connection refused
        at java.net.PlainSocketImpl.socketConnect(Native Method) ~[na:1.8.0_25]
        at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:345) ~[na:1.8.0_25]
        at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) ~[na:1.8.0_25]
        at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) ~[na:1.8.0_25]
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) ~[na:1.8.0_25]
        at java.net.Socket.connect(Socket.java:589) ~[na:1.8.0_25]
        at com.mongodb.connection.SocketStreamHelper.initialize(SocketStreamHelper.java:57) ~[mongodb-driver-core-3.4.2.jar:na]
        at com.mongodb.connection.SocketStream.open(SocketStream.java:58) ~[mongodb-driver-core-3.4.2.jar:na]
        ... 3 common frames omitted
我尝试排除MongoutoConfiguration.class,但得到了相同的错误

我的代码:

FoodappBackendApplication.java:

@SpringBootApplication
@EnableAutoConfiguration(exclude={MongoAutoConfiguration.class})
//@SpringBootApplication(exclude = {MongoAutoConfiguration.class, MongoDataAutoConfiguration.class})
public class FoodappBackendApplication {

    public static void main(String[] args) {
        SpringApplication.run(FoodappBackendApplication.class, args);
    }
}
server.port=8181
spring.data.mongodb.host=mongoserver
spring.data.mongodb.database=foodapp
spring.data.mongodb.uri=mongodb://<myusername>:<mypassword>@ds123456.mlab.com:12345/foodapp
spring.data.mongodb.authentication-database: admin
@Configuration
public class SpringMongoConfig extends AbstractMongoConfiguration {

    @Override
    public String getDatabaseName() {
        return "foodapp";
    }

    @Override
    @Bean
    public Mongo mongo() throws Exception {
        return new MongoClient();
    }
}
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-mongodb</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.mongodb</groupId>
            <artifactId>mongodb-driver</artifactId>
            <version>3.4.2</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-mongodb</artifactId>
            <version>1.10.4.RELEASE</version>
        </dependency>
    </dependencies>
应用程序。属性:

@SpringBootApplication
@EnableAutoConfiguration(exclude={MongoAutoConfiguration.class})
//@SpringBootApplication(exclude = {MongoAutoConfiguration.class, MongoDataAutoConfiguration.class})
public class FoodappBackendApplication {

    public static void main(String[] args) {
        SpringApplication.run(FoodappBackendApplication.class, args);
    }
}
server.port=8181
spring.data.mongodb.host=mongoserver
spring.data.mongodb.database=foodapp
spring.data.mongodb.uri=mongodb://<myusername>:<mypassword>@ds123456.mlab.com:12345/foodapp
spring.data.mongodb.authentication-database: admin
@Configuration
public class SpringMongoConfig extends AbstractMongoConfiguration {

    @Override
    public String getDatabaseName() {
        return "foodapp";
    }

    @Override
    @Bean
    public Mongo mongo() throws Exception {
        return new MongoClient();
    }
}
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-mongodb</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.mongodb</groupId>
            <artifactId>mongodb-driver</artifactId>
            <version>3.4.2</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-mongodb</artifactId>
            <version>1.10.4.RELEASE</version>
        </dependency>
    </dependencies>
pom.xml依赖项:

@SpringBootApplication
@EnableAutoConfiguration(exclude={MongoAutoConfiguration.class})
//@SpringBootApplication(exclude = {MongoAutoConfiguration.class, MongoDataAutoConfiguration.class})
public class FoodappBackendApplication {

    public static void main(String[] args) {
        SpringApplication.run(FoodappBackendApplication.class, args);
    }
}
server.port=8181
spring.data.mongodb.host=mongoserver
spring.data.mongodb.database=foodapp
spring.data.mongodb.uri=mongodb://<myusername>:<mypassword>@ds123456.mlab.com:12345/foodapp
spring.data.mongodb.authentication-database: admin
@Configuration
public class SpringMongoConfig extends AbstractMongoConfiguration {

    @Override
    public String getDatabaseName() {
        return "foodapp";
    }

    @Override
    @Bean
    public Mongo mongo() throws Exception {
        return new MongoClient();
    }
}
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-mongodb</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.mongodb</groupId>
            <artifactId>mongodb-driver</artifactId>
            <version>3.4.2</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-mongodb</artifactId>
            <version>1.10.4.RELEASE</version>
        </dependency>
    </dependencies>

org.springframework.boot
spring启动程序数据mongodb
org.springframework.boot
SpringBootStarterWeb
org.springframework.boot
弹簧起动试验
测试
org.mongodb
mongodb驱动程序
3.4.2
org.springframework.data
spring数据mongodb
1.10.4.1发布

非常感谢您的帮助

我可以看到几个问题:

  • 您打算使用.yml还是.properties?假设您想使用.yml,您应该将属性文件重命名为application.yml
  • 你的YML缩进是错误的。您的文件应如下所示:
    
    春天:
    数据:
    mongodb:
    uri:#注意此键的缩进级别
    
    然后哪个Spring转换为属性
    Spring.data.mongodb.uri

  • SpringMongoConfig
    中删除
    @Bean mongo()
    ,并为此一起删除该类,因为您已经在
    应用程序.properties
    文件中提供了所有必要的配置

    将您的
    FoodappBackendApplication
    更新为

    @SpringBootApplication
    public class FoodappBackendApplication {
    
        public static void main(String[] args) {
            SpringApplication.run(FoodappBackendApplication.class, args);
        }
    }
    
    对于基于Java的配置,您可以查看以下内容


    我打算使用.properties。我是新手,所以我还在学习。我更新了我的queston以反映我现在的情况。不过我还是有同样的问题。谢谢你的帮助,非常感谢!我在那里感到困惑