Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
爱吃血肠
spring-framework
提交
7ece0e21
S
spring-framework
项目概览
爱吃血肠
/
spring-framework
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
spring-framework
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
7ece0e21
编写于
6月 06, 2018
作者:
J
Juergen Hoeller
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Correct code example for YamlProcessor.setDocumentMatchers
Issue: SPR-16849
上级
bfcc1a1f
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
9 addition
and
11 deletion
+9
-11
spring-beans/src/main/java/org/springframework/beans/factory/config/YamlProcessor.java
...g/springframework/beans/factory/config/YamlProcessor.java
+6
-8
spring-beans/src/test/java/org/springframework/beans/factory/config/YamlPropertiesFactoryBeanTests.java
.../beans/factory/config/YamlPropertiesFactoryBeanTests.java
+3
-3
未找到文件。
spring-beans/src/main/java/org/springframework/beans/factory/config/YamlProcessor.java
浏览文件 @
7ece0e21
...
...
@@ -75,15 +75,16 @@ public abstract class YamlProcessor {
* name: My Cool App
* </pre>
* when mapped with
* <code>documentMatchers = YamlProcessor.mapMatcher({"environment": "prod"})</code>
* <pre class="code">
* setDocumentMatchers(properties ->
* ("prod".equals(properties.getProperty("environment")) ? MatchStatus.FOUND : MatchStatus.NOT_FOUND));
* </pre>
* would end up as
* <pre class="code">
* environment=prod
* url=http://foo.bar.com
* name=My Cool App
* url=http://dev.bar.com
* </pre>
* @param matchers a map of keys to value patterns (regular expressions)
*/
public
void
setDocumentMatchers
(
DocumentMatcher
...
matchers
)
{
this
.
documentMatchers
=
Arrays
.
asList
(
matchers
);
...
...
@@ -92,8 +93,7 @@ public abstract class YamlProcessor {
/**
* Flag indicating that a document for which all the
* {@link #setDocumentMatchers(DocumentMatcher...) document matchers} abstain will
* nevertheless match.
* @param matchDefault the flag to set (default true)
* nevertheless match. Default is {@code true}.
*/
public
void
setMatchDefault
(
boolean
matchDefault
)
{
this
.
matchDefault
=
matchDefault
;
...
...
@@ -102,9 +102,7 @@ public abstract class YamlProcessor {
/**
* Method to use for resolving resources. Each resource will be converted to a Map,
* so this property is used to decide which map entries to keep in the final output
* from this factory.
* @param resolutionMethod the resolution method to set (defaults to
* {@link ResolutionMethod#OVERRIDE}).
* from this factory. Default is {@link ResolutionMethod#OVERRIDE}.
*/
public
void
setResolutionMethod
(
ResolutionMethod
resolutionMethod
)
{
Assert
.
notNull
(
resolutionMethod
,
"ResolutionMethod must not be null"
);
...
...
spring-beans/src/test/java/org/springframework/beans/factory/config/YamlPropertiesFactoryBeanTests.java
浏览文件 @
7ece0e21
...
...
@@ -107,7 +107,7 @@ public class YamlPropertiesFactoryBeanTests {
YamlPropertiesFactoryBean
factory
=
new
YamlPropertiesFactoryBean
();
factory
.
setResources
(
new
ByteArrayResource
(
"foo: bar\nspam: baz\n---\nfoo: bag\nspam: bad"
.
getBytes
()));
factory
.
setDocumentMatchers
(
(
DocumentMatcher
)
properties
->
(
"bag"
.
equals
(
properties
.
getProperty
(
"foo"
))
?
factory
.
setDocumentMatchers
(
properties
->
(
"bag"
.
equals
(
properties
.
getProperty
(
"foo"
))
?
MatchStatus
.
FOUND
:
MatchStatus
.
NOT_FOUND
));
Properties
properties
=
factory
.
getObject
();
assertThat
(
properties
.
getProperty
(
"foo"
),
equalTo
(
"bag"
));
...
...
@@ -120,7 +120,7 @@ public class YamlPropertiesFactoryBeanTests {
factory
.
setMatchDefault
(
true
);
factory
.
setResources
(
new
ByteArrayResource
(
"one: two\n---\nfoo: bar\nspam: baz\n---\nfoo: bag\nspam: bad"
.
getBytes
()));
factory
.
setDocumentMatchers
(
(
DocumentMatcher
)
properties
->
{
factory
.
setDocumentMatchers
(
properties
->
{
if
(!
properties
.
containsKey
(
"foo"
))
{
return
MatchStatus
.
ABSTAIN
;
}
...
...
@@ -161,7 +161,7 @@ public class YamlPropertiesFactoryBeanTests {
factory
.
setMatchDefault
(
true
);
factory
.
setResources
(
new
ByteArrayResource
(
"one: two\n---\nfoo: bag\nspam: bad\n---\nfoo: bar\nspam: baz"
.
getBytes
()));
factory
.
setDocumentMatchers
(
(
DocumentMatcher
)
properties
->
{
factory
.
setDocumentMatchers
(
properties
->
{
if
(!
properties
.
containsKey
(
"foo"
))
{
return
MatchStatus
.
ABSTAIN
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录