From 4a09b323b6293347289b5122a94bd7b0a4e32917 Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Sat, 20 Jul 2019 16:11:17 +0200 Subject: [PATCH] Apply getInterfaceMethodIfPossible without SecurityManager as well Closes gh-23323 --- .../support/AbstractAutowireCapableBeanFactory.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/spring-beans/src/main/java/org/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory.java b/spring-beans/src/main/java/org/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory.java index 1fe4f2ebc1..c11bce1865 100644 --- a/spring-beans/src/main/java/org/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory.java +++ b/spring-beans/src/main/java/org/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory.java @@ -1882,10 +1882,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) () -> { ReflectionUtils.makeAccessible(methodToInvoke); return null; @@ -1901,8 +1900,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();