嘿,伙计们,我一直在尝试确定Spring boot中的哪些属性是由用户配置的,而不是Spring自动配置。我可以列出所有属性,但我不确定如何只获取用户声明的属性。
//此方法获取Spring环境中的所有属性
public Properties getSpringEnvironmentProperties() {
Properties props = new Properties();
MutablePropertySources propSrcs = ((AbstractEnvironment) env).getPropertySources();
StreamSupport.stream(propSrcs.spliterator(), false)
.filter(ps -> ps instanceof EnumerablePropertySource)
.map(ps -> ((EnumerablePropertySource) ps).getPropertyNames())
.flatMap(Arrays::<String>stream)
.forEach(propName -> props.setProperty(propName, env.getProperty(propName)));
return props;
}
有没有办法只获取用户在如下文件中声明的属性:application。房产?
您可以使用@ConfigurationProperties作为复杂属性文件,步骤如下:
步骤1:创建存储这些属性的application.properties
#App
app.menus[0].label=Home
app.menus[0].path=/
app.menus[1].label=Java Core
app.menus[1].path=/javacore
app.menus[2].label=Spring
app.menus[2].path=/spring
步骤2:声明java属性类
@ConfigurationProperties("app")
public class AppProperties {
private List<Menu> menus = new ArrayList<Menu>();
//do stuff
}
第3步:向服务中注入属性
private AppProperties app;
您可以从post Spring Boot配置属性示例中找到工作示例
希望这有帮助!
目前,我在为springboot项目获取mysql数据时遇到了一个问题: 编辑:Application.Properties 我能够使/test/welcome映射工作,因此我相信我对服务和控制器的实现是正确的。所以我想知道我是不是在访问存储库中的数据库时犯了一个错误,还是应该使用JpaRepository而不是CrudRepository并使用显式查询? 编辑堆栈跟踪:org.springfra
问题内容: 我试图在网页上的特定“输入”标签中提取单个“值”属性的内容。我使用以下代码: 我收到TypeError:列表索引必须是整数,而不是str 即使从Beautifulsoup文档中我了解到字符串在这里也不应该是一个问题…但是我没有专家,我可能会误解了。 问题答案: 返回所有找到的元素的列表,因此: 是一个列表(可能仅包含一个元素)。根据你的确切要求,你应该执行以下操作: 或使用仅返回一个(
下面的示例将展示在将HTML String解析为Document对象后使用方法获取dom元素的属性。 语法 (Syntax) Document document = Jsoup.parse(html); Element link = document.select("a").first(); System.out.println("Href: " + link.attr("href")); 哪里
如何使用Firebase获取用户名属性,我不知道如何获取用户名、电话号码等属性,我只知道如何获取用户名属性,但不知道用户名属性,也许你可以从下面的Firebase数据库中了解。 这是我的密码
问题内容: 对于: 我如何获得“价值”? 引发错误。 问题答案: 这将找到名为的元素的第一个实例,并返回该属性的值。
我使用的是。我有一个类似的类。我有一个的。 null