我的环境:
StackTrace:
Exception in thread "main" java.lang.NullPointerException
at com.mycompany.app.ExpressiveConfig.main(ExpressiveConfig.java:33)
disc.title=Sgt.PeppersLonelyHeartsClubBand
disc.artist=TheBeatles
package com.mycompany.app;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.*;
import org.springframework.core.env.Environment;
@PropertySource("classpath:/com/mycompany/app/app.properties")
public class ExpressiveConfig {
@Autowired
Environment env;
@Bean
public App get() {
return new App("hello", env.getProperty("disc.artist"));
}
public static void main(String args[]) {
App a = new ExpressiveConfig().get();
}
}
package com.mycompany.app;
import org.springframework.stereotype.Component;
public class App {
private final String title;
private final String artist;
public App(String title, String artist) {
this.title = title;
this.artist = artist;
}
public String getTitle() {
return title;
}
public String getArtist() {
return artist;
}
}
失败的尝试:
>
我尝试使用@propertysource
注释,例如使用file:prefix和属性文件的绝对路径。删除类路径(如/@propertysource)(“classpath:com/mycompany/app/app.properties”)之前的反斜杠。将属性文件放在不同的位置。
我还尝试使用@propertysources
,其中也包含@propertysource
注释。
非常感谢任何帮助/建议!!
Spring只会将依赖项注入它自己管理的bean中。由于您自己创建了该实例(new ExpressiveConfig()
),因此不会执行依赖项注入,因为实际上根本不涉及Spring。
您需要为该类型创建一个具有bean定义的应用程序上下文,并从中检索实例。
为此,将ExpressiveConfig
注释为spring@configuration
,然后将该类传递给AnnotationConfigApplicationContext
而不是自己实例化它。然后您就可以使用getBean(...)
从上下文中检索bean了。
我会用这样的方法来利用这些价值: 但是,我最终出现了一个错误,如下所示: 我如何在我的测试中也利用YAML的优点?
我在Tomcat8上部署了一个传统的SpringBoot应用程序。即使我定义了@PropertySources注释,在@PropertySources中指定的目录中给定的属性文件中定义的属性似乎找不到。我修改了一个SpringBootWeb示例项目,可以复制这个问题。在下面的示例中,调用web控制器的结果总是“Hello Default,来自Spring Boot的问候语!”。它从来没有提到过“名
问题内容: 我想获取特定月份/年份中第一个星期一的日期。 我有的: 我基本上有两个int变量,一个代表年份,一个代表月份。 我想要的是: 我想知道本月的第一个星期一,最好是一个int或Integer值。 例如: 我有2014年和1月(1月),这个月的第一个星期一是6号,所以我想返回6。 问题: 我以为可以做到这一点,但是在设置日历(仅提供年和月)时已经遇到了麻烦。此外,我不确定如何使用返回实际的月
问题内容: K,所以我有两个表: 我想从类别中获取所有信息,并计算每个类别中的问题数(question_id)。 假设,第一个类别(计费)将有一个问题,第二个类别(安全)将有3个问题。 我已经试过了: 问题答案: 您想这样做: 在将确保没有问题类别获得与数= 0上市
我正在使用@PropertySource配置一个配置类: 我现在正在使用Spring Cloud Config将配置外部化到Git:所有application.yml文件都已迁移。但是,我不知道这是否可能,以及如何将属性文件外部化,就像在@PropertySource中声明的那样。 我所做的:我尝试在Git中将mongo-prod.properties重命名为application-prod.pr
我有一份这样的ES文档 我正在使用Spring数据通过存储库接口与ES对话 现在我需要构建一个rest接口来响应这样的JSON格式数据 由于中的和非常大,因此从ES中检索所有字段非常昂贵。 我知道ES有一个名为“响应过滤”的功能可以满足我的要求,但我没有找到在Spring Data中使用它的方法。 如何在spring数据中实现这一点?