2014-11-24 5 views
0
나는 다음 봄의 항아리를 사용하고

:JSF 2.0 봄 콩 주입

문제는 얼굴 컨텍스트에 정의 JSF 1.2 JSF 2.0에 콩에서 마이그레이션 한 후 세션과 관리 빈에 주입 할 수있다

spring-web-2.5.5.jar 
spring-context-2.5.5.jar 
spring-core-2.5.5.jar 
spring-orm-2.5.5.jar 
spring-support-2.0.8.jar 
spring-security-taglibs-2.0.3.jar 
spring-security-acl-2.0.3.jar 
spring-security-core-2.0.4.jar 
spring-aop-2.5.5.jar 
spring-jdbc-2.5.5.jar 
spring-tx-2.5.5.jar 
범위. 예를 들면 : 나는 세션 빈의 범위를 교체 할 때

<managed-bean> 
    <managed-bean-name>bannersController</managed-bean-name> 
    <managed-bean-class>jaxp.com.controller.BannersController</managed-bean-class> 
     <managed-bean-scope>request</managed-bean-scope> 
     <managed-property> 
      <property-name>bannerDao</property-name> 
      <value>#{bannerDao}</value> 
     </managed-property> 
</managed-bean> 

<bean id="bannerDao" class="jaxp.com.db.dao.BannerDaoImpl" 
    scope="prototype"> 
    <property name="sessionFactory" ref="sitePartnerSessionFactory" /> 
    <property name="dataSource" ref="sitePartnerDataSource" /> 
</bean> 

그것은 잘 작동합니다. 하지만 이제 관리 속성은 null입니다. JSF 2.0으로 마이그레이션하기 전에 작동했습니다. 무엇이 잘못되었으며 어떻게 수정해야합니까?

UPD : 나는 그것이 또한 잘 작동 범위를/볼 콩 범위 관리 설정하면

+0

정지 ... 봄 2.5.5 및 2.0. 8 혼합하지 마십시오. 또한 왜 dao가 범위가 프로토 타입인지 확실하지 않으므로 singleton imho 여야합니다. 당신은 단지 적절한 통합 설치와 함께 작동합니다 JSF에 대한 올바른 해결을 구성했는지 확인 ... –

+0

라벨 전체 대답에 내 전체 답변을 참조하십시오 : [JSF 콩에 스프링 빈 주입] [1] [1] : http://stackoverflow.com/questions/27094466/injection-service-spring-on-managedbean-failed-npe/27113201#27113201 –

답변

1

JSF 콩 : 다른 스프링 버전을 혼합

inject spring service 
@ManagedProperty("#{handlerService}") 
private HandlerService handlerService = null; 
///add setter 
Spring service: 

@Service("handlerService") 
@Component 
public class HandlerService { 
    @Autowired 
    private DomainService domainService; 

faces-config.xml 
    <application>  
     <el-resolver>org.springframework.web.jsf.el.SpringBeanFacesELResolver</el-resolver>     
    </application> 
------------ 
web.xml 

<context-param> 
     <param-name>contextClass</param-name> 
     <param-value> 
      org.springframework.web.context.support.AnnotationConfigWebApplicationContext 
     </param-value> 
    </context-param> 
    <context-param> 
     <param-name>contextConfigLocation</param-name> 
     <param-value>com.myspringconfgigclass.CommonCoreConfig</param-value> 
    </context-param> 
    <listener> 
     <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
    </listener>