2016-11-04 4 views
0

Я напротив исключение нулевого указателя на моем приложении, я аннотирование Dao с @Repository, в Servive по @Service, контроллеру с @Controller и обслуживанием внутри него с @ManagedProperty, я заподозрить мой контекст приложения не имеет надлежащей конфигурации, поэтому здесь есть:NullPointer исключения на управляемой собственности (услуги)

<?xml version="1.0" encoding="UTF-8"?> 

<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx" 
    xmlns:context="http://www.springframework.org/schema/context" 
    xml:jpa="http://www.springframework.org/schema/data/jpa" 
    xmlns:aop="http://www.springframework.org/schema/aop" xmlns:util="http://www.springframework.org/schema/util" 
    xsi:schemaLocation=" 
       http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd 
       http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd 
       http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd 
       http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd"> 
    <!-- Enable Spring Annotation Configuration --> 

    <context:annotation-config/> 
    <!-- Scan for all of Spring components such as Spring Service --> 
    <context:component-scan base-package="com.domain.nameOfapp.*" /> 

    <!-- Necessary to get the entity manager injected into the factory bean --> 
    <bean 
     class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor" /> 

    <!-- Define Hibernate JPA Vendor Adapter --> 
    <bean id="jpaVendorAdapter" 
     class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"> 
     <property name="databasePlatform" value="org.hibernate.dialect.Oracle10gDialect" /> 
    </bean> 

    <!-- Entity Manager Factory --> 
    <bean id="entityManagerFactory" 
     class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"> 
     <property name="persistenceUnitName" value="jpa-persistence" /> 
     <property name="jpaVendorAdapter" ref="jpaVendorAdapter" /> 
     <property name="packagesToScan"> 
      <list> 
       <value>com.domain.nameOfapp.*</value> 
      </list> 
     </property> 
    </bean> 

    <!-- Transaction Manager --> 
    <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager"> 
     <property name="entityManagerFactory" ref="entityManagerFactory" /> 
    </bean> 

    <!-- Detect @Transactional --> 
    <tx:annotation-driven transaction-manager="transactionManager" /> 

</beans> 

Любая помощь будет замечательной! благодаря

ответ

0

Ваш компонент сканирования должен быть как ниже,

<context:component-scan base-package="com.domain.nameOfapp" /> 

Это будет сканировать все классы в рамках данного пакета, включая все вложенные пакеты.

Также, используя @ManagedProperty, вы пытаетесь автоподъединить весенний сервисный боб? Я считаю, что вы должны использовать @Autowired.

+0

Я использую dao в сервисе и используя @managedProperty для обслуживания на уровне контроллера – Amir

+0

isnt '@ ManagedProperty' аннотация JSF? Работало ли это после того, как вы сделали вышеупомянутое изменение? если нет, можете ли вы попробовать изменить '@ ManagedProperty' на' @ Autowired'? –

+0

все еще не работал, а также переключил управляемую собственность на автоподдержку ни одного, спасибо за вашу помощь! – Amir

Смежные вопросы