Java 无法从spring父(共享)上下文自动连接bean
我有一个简单的,有两个春天背景的战争。 My web.xml包含:Java 无法从spring父(共享)上下文自动连接bean,java,spring,jakarta-ee,websphere,Java,Spring,Jakarta Ee,Websphere,我有一个简单的,有两个春天背景的战争。 My web.xml包含: <context-param> <param-name>parentContextKey</param-name> <param-value>ejbContext</param-value> </context-param> <context-param> <param-name>contextConfigL
<context-param>
<param-name>parentContextKey</param-name>
<param-value>ejbContext</param-value>
</context-param>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/applicationContext.xml
</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context:annotation-config />
<context:component-scan base-package="ru.fns"/>
此外,将springBean注入到parentSpringBean中也可以,但是如何呢
parentSpringBean代码示例:
// there's neither @Component nor @Service annotation
public class ParentSpringBean {
private static transient final Logger log = LoggerFactory.getLogger(ParentSpringBean.class);
private String stringProperty;
@EJB(mappedName = "EEBean")
private EEBean eeBean; // ok
@Autowired
private SpringBean springBean; // child context bean, works but why?
我已经在WebSphere上测试了几天,但仍然无法理解这种奇怪的行为。有人知道为什么会这样吗?先谢谢你
<context:annotation-config />
<context:component-scan base-package="ru.fns"/>
@Component()
@Qualifier("springBean")
public class SpringBean {
private static transient final Logger log = LoggerFactory.getLogger(SpringBean.class);
@Value("${logs.level}")
private String stringProperty;
@EJB(mappedName = "EEBean")
private EEBean eeBean;
@Autowired
@Qualifier("parentSpringBean")
private ParentSpringBean parentSpringBean; // it fails
// there's neither @Component nor @Service annotation
public class ParentSpringBean {
private static transient final Logger log = LoggerFactory.getLogger(ParentSpringBean.class);
private String stringProperty;
@EJB(mappedName = "EEBean")
private EEBean eeBean; // ok
@Autowired
private SpringBean springBean; // child context bean, works but why?