में ऑटोवायर एनोटेटेड सेवा (या दाओ) तक पहुंच नहीं सकते हैं मुझे यह समस्या है जिसे मैं ठीक नहीं कर सकता।वसंत-नलपोइनटेरेक्सप्शन- गैर-एनोटेशन कक्षा
मेरे @Controller
से, मैं आसानी से अपने ऑटोवायर @Service
कक्षा तक पहुंच सकता हूं और इसके साथ कोई समस्या नहीं खेल सकता। लेकिन जब मैं एनोटेशन के बिना एक अलग वर्ग से ऐसा करता हूं, तो यह मुझे NullPointerException
देता है।
मेरे नियंत्रक (काम करता है) -
@Controller
public class UserController {
@Autowired
UserService userService;...
मेरे अलग जावा वर्ग (काम नहीं कर रहा) -
public final class UsersManagementUtil {
@Autowired
UserService userService;
या
@Autowired
UserDao userDao;
userService या userDao हमेशा अशक्त कर रहे हैं! बस कोशिश कर रहा था अगर उनमें से कोई भी काम करता है।
मेरी घटक स्कैन सेटिंग में स्कैनिंग के लिए रूट स्तर पैकेज सेट है, जो ठीक होना चाहिए।
मेरी सर्वलेट संदर्भ -
<?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:context="http://www.springframework.org/schema/context"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">
<!-- the application context definition for the
springapp DispatcherServlet -->
<!-- Enable annotation driven controllers, validation etc... -->
<context:property-placeholder location="classpath:jdbc.properties" />
<context:component-scan base-package="x" />
<tx:annotation-driven transaction-manager="hibernateTransactionManager" />
<!-- package shortended -->
<bean id="messageSource"
class="o.s.c.s.ReloadableResourceBundleMessageSource">
<property name="basename" value="/WEB-INF/messages" />
</bean>
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="${database.driver}" />
<property name="url" value="${database.url}" />
<property name="username" value="${database.user}" />
<property name="password" value="${database.password}" />
</bean>
<!-- package shortened -->
<bean id="viewResolver"
class="o.s.w.s.v.InternalResourceViewResolver">
<property name="prefix">
<value>/</value>
</property>
<property name="suffix">
<value>.jsp</value>
</property>
<property name="order">
<value>0</value>
</property>
</bean>
<!-- package shortened -->
<bean id="sessionFactory"
class="o.s.o.h3.a.AnnotationSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="annotatedClasses">
<list>
<value>orion.core.models.Question</value>
<value>orion.core.models.User</value>
<value>orion.core.models.Space</value>
<value>orion.core.models.UserSkill</value>
<value>orion.core.models.Question</value>
<value>orion.core.models.Rating</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">${hibernate.dialect}</prop>
<prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
<prop key="hibernate.hbm2ddl.auto">${hibernate.hbm2ddl.auto}</prop>
</props>
</property>
</bean>
<bean id="hibernateTransactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
कोई सुराग?
के संभावित डुप्लिकेट का उपयोग कर वस्तु की इन्स्टेन्शियशन के बाद मैन्युअल autowiring को गति प्रदान [क्यों मेरी स्प्रिंग @Autowired फ़ील्ड रिक्त है?] (Http: // stackoverflow .com/प्रश्न/19896870/क्यों-मेरा-वसंत-ऑटोवायर-फील्ड-नल) – chrylis