Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
sesemomo
spring-framework
提交
8ea3aa51
S
spring-framework
项目概览
sesemomo
/
spring-framework
与 Fork 源项目一致
从无法访问的项目Fork
通知
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,发现更多精彩内容 >>
提交
8ea3aa51
编写于
7月 20, 2019
作者:
J
Juergen Hoeller
浏览文件
操作
浏览文件
下载
差异文件
Merge branch '5.1.x'
上级
69d3e898
0d37209b
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
34 addition
and
29 deletion
+34
-29
spring-beans/src/main/java/org/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory.java
...s/factory/support/AbstractAutowireCapableBeanFactory.java
+3
-4
spring-context/src/main/java/org/springframework/context/MessageSource.java
.../main/java/org/springframework/context/MessageSource.java
+27
-17
spring-core/src/test/java/org/springframework/core/ResolvableTypeTests.java
...st/java/org/springframework/core/ResolvableTypeTests.java
+4
-8
未找到文件。
spring-beans/src/main/java/org/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory.java
浏览文件 @
8ea3aa51
...
...
@@ -1895,10 +1895,9 @@ public abstract class AbstractAutowireCapableBeanFactory extends AbstractBeanFac
if
(
logger
.
isTraceEnabled
())
{
logger
.
trace
(
"Invoking init method '"
+
initMethodName
+
"' on bean with name '"
+
beanName
+
"'"
);
}
Method
methodToInvoke
=
ClassUtils
.
getInterfaceMethodIfPossible
(
initMethod
);
if
(
System
.
getSecurityManager
()
!=
null
)
{
Method
methodToInvoke
=
ClassUtils
.
getInterfaceMethodIfPossible
(
initMethod
);
AccessController
.
doPrivileged
((
PrivilegedAction
<
Object
>)
()
->
{
ReflectionUtils
.
makeAccessible
(
methodToInvoke
);
return
null
;
...
...
@@ -1914,8 +1913,8 @@ public abstract class AbstractAutowireCapableBeanFactory extends AbstractBeanFac
}
else
{
try
{
ReflectionUtils
.
makeAccessible
(
initMethod
);
initMethod
.
invoke
(
bean
);
ReflectionUtils
.
makeAccessible
(
methodToInvoke
);
methodToInvoke
.
invoke
(
bean
);
}
catch
(
InvocationTargetException
ex
)
{
throw
ex
.
getTargetException
();
...
...
spring-context/src/main/java/org/springframework/context/MessageSource.java
浏览文件 @
8ea3aa51
/*
* Copyright 2002-201
7
the original author or authors.
* Copyright 2002-201
9
the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
...
...
@@ -26,10 +26,10 @@ import org.springframework.lang.Nullable;
*
* <p>Spring provides two out-of-the-box implementations for production:
* <ul>
* <li>{@link org.springframework.context.support.ResourceBundleMessageSource}
,
*
built on top of the standard {@link java.util.ResourceBundle}
* <li>{@link org.springframework.context.support.ReloadableResourceBundleMessageSource}
,
*
being able to reload message definitions without restarting the VM
* <li>{@link org.springframework.context.support.ResourceBundleMessageSource}
: built
*
on top of the standard {@link java.util.ResourceBundle}, sharing its limitations.
* <li>{@link org.springframework.context.support.ReloadableResourceBundleMessageSource}
:
*
highly configurable, in particular with respect to reloading message definitions.
* </ul>
*
* @author Rod Johnson
...
...
@@ -41,16 +41,17 @@ public interface MessageSource {
/**
* Try to resolve the message. Return default message if no message was found.
* @param code the code to lookup up,
such as 'calculator.noRateSet'. Users of
*
this class are encouraged to base message names on the relevant fully
*
qualified class name, thus avoiding conflict
and ensuring maximum clarity.
* @param code the code to lookup up,
e.g. 'calculator.noRateSet'.
*
MessageSource users are encouraged to base message names on qualified class
*
or package names, avoiding potential conflicts
and ensuring maximum clarity.
* @param args an array of arguments that will be filled in for params within
* the message (params look like "{0}", "{1,date}", "{2,time}" within a message),
* or {@code null} if none
.
* or {@code null} if none
* @param defaultMessage a default message to return if the lookup fails
* @param locale the locale in which to do the lookup
* @return the resolved message if the lookup was successful;
* otherwise the default message passed as a parameter
* @return the resolved message if the lookup was successful, otherwise
* the default message passed as a parameter (which may be {@code null})
* @see #getMessage(MessageSourceResolvable, Locale)
* @see java.text.MessageFormat
*/
@Nullable
...
...
@@ -58,13 +59,16 @@ public interface MessageSource {
/**
* Try to resolve the message. Treat as an error if the message can't be found.
* @param code the code to lookup up, such as 'calculator.noRateSet'
* @param code the code to lookup up, e.g. 'calculator.noRateSet'.
* MessageSource users are encouraged to base message names on qualified class
* or package names, avoiding potential conflicts and ensuring maximum clarity.
* @param args an array of arguments that will be filled in for params within
* the message (params look like "{0}", "{1,date}", "{2,time}" within a message),
* or {@code null} if none
.
* or {@code null} if none
* @param locale the locale in which to do the lookup
* @return the resolved message
* @throws NoSuchMessageException if the message wasn't found
* @return the resolved message (never {@code null})
* @throws NoSuchMessageException if no corresponding message was found
* @see #getMessage(MessageSourceResolvable, Locale)
* @see java.text.MessageFormat
*/
String
getMessage
(
String
code
,
@Nullable
Object
[]
args
,
Locale
locale
)
throws
NoSuchMessageException
;
...
...
@@ -76,9 +80,15 @@ public interface MessageSource {
* since at the time of calling this method we aren't able to determine if the
* {@code defaultMessage} property of the resolvable is {@code null} or not.
* @param resolvable the value object storing attributes required to resolve a message
* (may include a default message)
* @param locale the locale in which to do the lookup
* @return the resolved message
* @throws NoSuchMessageException if the message wasn't found
* @return the resolved message (never {@code null} since even a
* {@code MessageSourceResolvable}-provided default message needs to be non-null)
* @throws NoSuchMessageException if no corresponding message was found
* (and no default message was provided by the {@code MessageSourceResolvable})
* @see MessageSourceResolvable#getCodes()
* @see MessageSourceResolvable#getArguments()
* @see MessageSourceResolvable#getDefaultMessage()
* @see java.text.MessageFormat
*/
String
getMessage
(
MessageSourceResolvable
resolvable
,
Locale
locale
)
throws
NoSuchMessageException
;
...
...
spring-core/src/test/java/org/springframework/core/ResolvableTypeTests.java
浏览文件 @
8ea3aa51
...
...
@@ -134,8 +134,8 @@ public class ResolvableTypeTests {
assertThat
(
type
.
isAssignableFrom
(
String
.
class
)).
isTrue
();
}
@Test
public
void
forRawClassAssignableFromTypeVariable
()
{
// gh-23321
@Test
// gh-23321
public
void
forRawClassAssignableFromTypeVariable
()
throws
Exception
{
ResolvableType
typeVariable
=
ResolvableType
.
forClass
(
ExtendsList
.
class
).
as
(
List
.
class
).
getGeneric
();
ResolvableType
raw
=
ResolvableType
.
forRawClass
(
CharSequence
.
class
);
assertThat
(
raw
.
resolve
()).
isEqualTo
(
CharSequence
.
class
);
...
...
@@ -442,12 +442,8 @@ public class ResolvableTypeTests {
interfaces
.
add
(
interfaceType
.
toString
());
}
assertThat
(
interfaces
.
toString
()).
isEqualTo
(
"["
+
"java.io.Serializable, "
+
"java.lang.Cloneable, "
+
"java.util.List<java.lang.CharSequence>, "
+
"java.util.RandomAccess"
+
"]"
);
"[java.io.Serializable, java.lang.Cloneable, "
+
"java.util.List<java.lang.CharSequence>, java.util.RandomAccess]"
);
}
@Test
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录