我有一个带有JSF2 end Spring4.3的webmodule。在backing bean中,我使用@autowired
对jar的服务进行DI。在EAR模块中有WAR、带有@service
Spring的JAR和带有Spring配置文件的JAR。
下面是web.xml
片段:
<context-param>
<param-name>locatorFactorySelector</param-name>
<param-value>classpath:beanRefContext.xml</param-value>
</context-param>
<context-param>
<param-name>parentContextKey</param-name>
<param-value>sharedContext</param-value>
</context-param>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<listener>
<listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
</listener>
applicationcontext.xml
:
<context:annotation-config />
<context:spring-configured />
<!-- package of @Service class in jar module in EAR-- >
<context:component-scan base-package="com.ipdb.service" />
<bean id="sharedContext" class="org.springframework.context.support.ClassPathXmlApplicationContext"> <constructor-arg>
<list>
<value>spring-ctx.xml</value>
</list>
</constructor-arg> </bean>
当我在Backing Bean中使用@autowired(required=null)
时,值为null
(没有任何异常)。我的JSF bean
@Component
@ManagedBean
@ViewScoped
public class PortfolioController {
@Autowired(required = true)
private PortfolioService portfolioService;
...
你能帮帮我吗,拜托。
PortfolioController
被认为是JSF
上下文bean添加@Component
到@ManagedBean
是完全错误的,您不能在两个不同的上下文(JSF
和Spring
)中将同一个类标记为bean。
有两种解决方案,要么使PortfolioController
成为spring bean,从而删除@ManagedBean
和@viewscoped
,要么通过JSF
注入注释@ManagedProperty
注入PortfolioController
@ManagedProperty("#{portfolioService}")
private PortfolioService portfolioService;
问题内容: 但是当应用程序尝试在客户端请求之后调用它时,自动装配的Bean为空。在applicationContext.xml中,我只有 组件扫描 设置。 -- 我究竟做错了什么? UPD: 这是我的pom.xml https://bitbucket.org/spukhov/memo- ws/src/00724e00e3aa786f62fd0e43fe0606de6ae569df/pom.xml?
问题内容: 我的应用无法自动装配entityManagerFactory。 我的 applicationContext.xml : 我的 java课 : 题: 为什么entityManagerFactory为空? 问题答案: 为了让spring使用注释进行自动扭曲,您必须告诉spring。在您的xml配置中(假设您还没有element)添加一个。这将指示Spring应用程序上下文来扫描注解(如,,
问题内容: 我有一个具有字段()的Spring 类(),但是该字段是我尝试使用它时所用的。日志显示该bean和该bean都在创建,但是每当我尝试在服务bean上调用该方法时,都会得到一个a 。Spring为什么不自动接线该领域? 控制器类: 服务等级: 应该自动连接的服务bean,但不是: 当我尝试时,出现以下异常: 问题答案: 本文向大家介绍为什么我的Spring @Autowired字段为空?
//[input type=“text”placeholder=“First Name”class=“form control”ng model=“FirstName”必填项] 下面是我的代码 elemntvalue=驱动程序。FindElement(By.XPath(//input[@placeholder='First Name']); 字符串名称required=elemntvalue。Ge
正如标题所说,my@value不会传递一个值 我在application.properties中编写了以下内容:
测试类: 在我的“取样玻璃”里,我自动连接了一个像这样的bean。 在我的“OtherSampleClass”中,我注释了一个方法,如下所示: