当前位置: 首页 > 知识库问答 >
问题:

Spring 4,MongoDB,在MongoConfiguration中使用@Value

葛浩阔
2023-03-14

我使用MongoConfiguration类来设置我的Sping 4 MongoDB。我想从应用程序中读取属性。属性,所以我使用@Value:

....
@Configuration
@EnableMongoRepositories
@ComponentScan(basePackageClasses = {Application.class})
public class MongoConfiguration extends AbstractMongoConfiguration {

   @Value("${mongodb.host}")
   String mongodb_host; 

   @Value("${mongodb.port}")
   int mongodb_port; 

   @Value("${mongodb.databasename}")
   String mongodb_databasename; 

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

   @Override
   public Mongo mongo() throws Exception {
      return new MongoClient( mongodb_host, mongodb_port );
   }

   @Override
   protected String getMappingBasePackage() {
      return "com.example.mongodb01";
   }
}

这对于web应用程序来说很好——但当我在命令行Java应用程序中尝试同样的想法时,它失败了(就好像找到了application.properties,但@Value从未运行过一样)。我知道我正在阅读申请书。属性文件确定。这一定与在servlet容器中运行与在应用程序中运行的不同有关,但经过大量搜索和试验,我无法解决这个问题并修复它。如果能在这方面得到任何帮助,我将不胜感激——谢谢!

我确实看到了一个类似的问题,我尝试将以下内容添加到我的MongoConfiguration中,但仍然存在相同的问题:

@Bean
public static PropertySourcesPlaceholderConfigurer propertyPlaceholderConfigurer() {
  return new PropertySourcesPlaceholderConfigurer();
}

共有1个答案

羊舌承天
2023-03-14

您是否包含@PropertySource

@Configuration
@PropertySource("classpath:application.properties")
@EnableMongoRepositories
@ComponentScan(basePackageClasses = {Application.class})
public class MongoConfiguration extends AbstractMongoConfiguration {
   ...
 类似资料:
  • 我们可以使用AbstractMongoConfiguration(http://docs.spring.io/spring-data/mongodb/docs/current/api/org/springframework/data/mongodb/config/AbstractMongoConfiguration.html)进行mongob配置。此外,我们可以使用application.prop

  • 我正在开发一个REST API与Spring引导v2.0.0。RELEASE与mongoDB耦合。使用sping-boot-starter-data-mongob连接MongoDB im。 正在申请中。属性我可以更改与mongodb相关的基本配置,但我的问题是,当涉及高级属性时,管理这些配置的最佳方式应该是什么。例如,不能通过应用程序更改每个主机的连接属性。财产。 因此,我使用了AbstractM

  • 我正在使用Spring4 AsyncRestTemplate调用外部REST API服务。 在该方法中,我注册来自REST API调用的ListenableFuture响应的回调。 除了单元测试,我不使用返回的ListenableFuture。回调将根据请求的成功或失败来处理我想采取的实际操作。 ExternalServiceImpl.class

  • 问题内容: 我的应用程序大量使用JSON对象(org.json.JSONArray和朋友)。将它们存储到Mongo DBObjects中以便查询它们的最有效方法是什么?BasicDBObject无法序列化JSONArray,这两个层次结构之间似乎根本没有互操作性。 问题答案: 好的,似乎没有互操作性,所以我自己动手了。忙于避开类型系统:

  • 有人能通过xml使用Spring < code > JCacheCacheManager 创建一个Ehcache支持的< code>CacheManager吗?我有这样的东西。不知道如何为Ehcache3创建< code > javax . cache . cache manager 。 谢谢!

  • 问题内容: 好的,所以我已经安装了Flask,我想知道如何将MongoDB数据库与即将开始构建的Flask应用程序连接和使用。 问题答案: 我个人发现PyMongo库简单易用。 你首先需要导入并创建一个连接: 然后获取你的数据库实例和集合(表): 然后,你可以通过处理保存数据的JSON文档来操纵数据。他们的网站上有完整的示例。