Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 自动连接数据源NullPointerException_Java_Spring_Spring Mvc_Autowired - Fatal编程技术网

Java 自动连接数据源NullPointerException

Java 自动连接数据源NullPointerException,java,spring,spring-mvc,autowired,Java,Spring,Spring Mvc,Autowired,当我运行上面的代码时,dataSource保持为null 如何在web-context.xml中配置bean: public class DAOManager { @Autowired private DataSource dataSource; ..... 我觉得有一些东西需要添加到我的web-context.xml中,以便将DAOManager类添加到它的辖区中。。我说的对吗?对不起,第一次使用Spring MVC的用户 谢谢您的时间。您问: 我觉得我需要在

当我运行上面的代码时,dataSource保持为null

如何在web-context.xml中配置bean:

 public class DAOManager {
      @Autowired
      private DataSource dataSource;
 .....

我觉得有一些东西需要添加到我的web-context.xml中,以便将DAOManager类添加到它的辖区中。。我说的对吗?对不起,第一次使用Spring MVC的用户

谢谢您的时间。

您问:

我觉得我需要在我的生活中添加一些东西 web-context.xml将DAOManager类添加到其辖区。。是 我说得对吗


你说得对:)

添加到SpringXML中

<!-- Datasource (database) bean -->
<bean id="dataSource"
     class="org.springframework.jdbc.datasource.DriverManagerDataSource">
     <property name="driverClassName" value="com.mysql.jdbc.Driver" />
     <property name="url" value="XXXXX" />
     <property name="username" value="XXXX" />
     <property name="password" value="XXXX" />
</bean>

将@Repository放在类管理器上方,请参见

虽然您所做的配置很理想,但看起来很好,而且是一个简单的DI,应该可以像现在一样正常工作。

只需添加

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


您有
DAOManager
的bean定义吗?Spring也必须实例化它才能应用自动布线。@JimGarrison-我不知道,不知道。我也不确定在哪里执行此操作。请告诉我我在writeup中描述的注入或
@Configurable
方法是否可行。通常,稍微重新组织代码以便注入所有内容是最好的长期方法,但DAO是一种常见模式,
@Configurable
非常有用(尽管通常使用活动记录;通常注入完整的
DAOManager
-类型类)。@chrylis-我现在正在通读所有内容,有很多东西要读/让我想一想。我过一会儿再打给你。你是在Tomcat或JBoss这样的容器中运行这个吗?如果没有,您将需要一个顶级的Spring感知类来启动整个布线过程。这不会有任何区别,因为
DAOManager
不是任何类型的Springbean。我想你不能给DAOManager加注释吧?
<bean id="daoManager" class="DAOManager">
        <property name="dataSource" ref="dataSource" />
</bean>