JSF 2終了Spring 4.3を使用したWebモジュールがあります。バッキングBeanでは、JARのサービスのDIとして@Autowired
を使用します。 EARモジュールには、Spring、@Service
のSpringとJAR、Springの設定ファイルを持つJARがあります。Spring @Autowired(必須= true)がnullです
<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
:web.xml
スニペット以下
<context:annotation-config />
<context:spring-configured />
<!-- package of @Service class in jar module in EAR-- >
<context:component-scan base-package="com.ipdb.service" />
beanRefContext.xml:私はバッキングBeanで@Autowired(required=null)
を使用すると値が存在null
(ある
<bean id="sharedContext" class="org.springframework.context.support.ClassPathXmlApplicationContext"> <constructor-arg> <list> <value>spring-ctx.xml</value> </list> </constructor-arg> </bean>
例外ではありません)。私のJSF bean
@Component
@ManagedBean
@ViewScoped
public class PortfolioController {
@Autowired(required = true)
private PortfolioService portfolioService;
...
私を助けてください。
を注入これは、Spring Beanと春が管理するか、またはそれをオートワイヤリングされていないではありません。 – chrylis
あなたの質問は最初に[spring-mvc]とタグ付けされていましたので、考えてみましょう:http://stackoverflow.com/q/18744910 – BalusC