Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/400.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 Spring WebMVC WebService数据存储自动连接空_Java_Spring_Web Services - Fatal编程技术网

Java Spring WebMVC WebService数据存储自动连接空

Java Spring WebMVC WebService数据存储自动连接空,java,spring,web-services,Java,Spring,Web Services,我正在使用WebMVC并按类生成web服务。Web服务响应很好,但在数据存储时会出现null点异常 web服务类,PIDNHEADDAO1获取空点异常 public class wm011DNinfo { @Autowired private PIDNHeaderDAO piDNHeaderDAO1; public OUTDNResponse[] processGenerate(INDNHeader[] inDNHeaders, INDNItem[] inDNItem

我正在使用WebMVC并按类生成web服务。Web服务响应很好,但在数据存储时会出现null点异常

web服务类,PIDNHEADDAO1获取空点异常

public class wm011DNinfo {

    @Autowired
    private PIDNHeaderDAO piDNHeaderDAO1;

    public OUTDNResponse[] processGenerate(INDNHeader[] inDNHeaders, INDNItem[] inDNItems) {


        //for data store
        PIDNHeader dnHeader = new PIDNHeader();
        dnHeader.setVbeln("test1");
        dnHeader.setVstel("test2");
        System.out.println("@ "+piDNHeaderDAO1);
        //System.out.println("@ "+piDNHeaderDAO2);
        piDNHeaderDAO1.saveOrUpdate(dnHeader);

        //for response
        OUTDNResponse[] outDNarray = new OUTDNResponse[1];
        OUTDNResponse outDN = new OUTDNResponse();

        outDN.setVbeln("OK");
        outDN.setZzint_msg("S");
        outDNarray[0] = outDN;

        return outDNarray;
    }

}
皮德黑德道

package net.viralpatel.spring.dao;

import java.util.List;
import net.viralpatel.spring.model.PIDNHeader;

public interface PIDNHeaderDAO {
    public void saveOrUpdate(PIDNHeader dnHeader);

    public void delete(String vbeln);

    public PIDNHeader get(String vbeln);

    public List<PIDNHeader> list();
}
通过eclipse web service explorer调用web service后,获取以下消息:

<soapenv:Fault>
  <soapenv:Fault>
    <faultcode>soapenv:ServeruserException</faultcode>
      <faultstring>java.lang.NullPointerException</faultstring>
        <detail>
          <nsl:hostname xmlns:ns1="http://xml.apache.org/axis/">home.local</nsl:hostname>
        </detail>
      </soapenv:Fault>
    </soapenv:Body>
</soapenv:Envelope>

soapenv:ServeruserException
java.lang.NullPointerException
家乡

wm011dinfo
类不是Springbean。因此,您不能通过
@Autowired
向它注入其他bean(
PIDNHeaderDAO
)。使用类似于
@Component
的东西,或者使用
@Bean
注释手动创建一个方法(就像您在
getPIDNHeaderDAO
方法中所做的那样)。

您如何知道它不是Bean。可能代码中只缺少注释snipped@Jens可能是。如果我错了,我会删除我的答案。但我很确定我没有。:)我已经添加了@Component公共类PIDNHeaderDAOImpl实现了PIDNHeaderDAO,但是我的另一个mvc java类在编译时会出错。错误:上下文初始化失败org.springframework.beans.factory.UnsatifiedPendencyException:创建名为“helloController”的bean时出错:通过字段“piDNHeaderDAO”表示的未满足的依赖关系:没有[net.ViralPetel.spring.dao.piDNHeaderDAO]类型的合格bean定义为:预期为单个匹配bean,但找到2:PIDNHeaderDAOImpl,getPIDNHeaderDAO;非常好!进步!您可以通过使用
@Qualifier
注释和
@Autowired
来明确指定要注入的bean的名称(
pIDHeaderDAO
)。在你的
getPIDNHeaderDAO
@Bean
注释中,你可以提供该Bean的名称(
pIDHeaderDAO
),我不明白你提到了“在你的getPIDNHeaderDAO@Bean注释中,你可以提供该Bean的名称(pIDHeaderDAO)”。如何?请告知,谢谢
package net.viralpatel.spring.config;
import javax.sql.DataSource;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.jdbc.datasource.DriverManagerDataSource;
import org.springframework.web.servlet.ViewResolver;
import org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.view.InternalResourceViewResolver;
import org.springframework.web.servlet.view.JstlView;

import net.viralpatel.spring.dao.PIDNHeaderDAO;
import net.viralpatel.spring.dao.PIDNHeaderDAOImpl;


@Configuration
@EnableWebMvc
@ComponentScan(basePackages = "net.viralpatel.spring")
public class AppConfig extends WebMvcConfigurerAdapter {
    @Bean
    public ViewResolver viewResolver() {
        InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
        viewResolver.setViewClass(JstlView.class);
        viewResolver.setPrefix("/WEB-INF/views/");
        viewResolver.setSuffix(".jsp");

        System.out.println("appconfig start");

        return viewResolver;
    }

    @Override
    public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
        configurer.enable();
    }

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/resources/**").addResourceLocations("/resources/");
    }


    @Bean
    public DataSource getDataSource() {

        DriverManagerDataSource dataSource = new DriverManagerDataSource();
        dataSource.setDriverClassName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
        dataSource.setUrl("jdbc:sqlserver://192.168.4.22;DatabaseName=xxxx");
        dataSource.setUsername("xxxxx");
        dataSource.setPassword("accxxxxxpac");

        return dataSource;
    }


    @Bean
    public PIDNHeaderDAO getPIDNHeaderDAO() {
        System.out.println("PIDNHeaderDAO start");
        return new PIDNHeaderDAOImpl(getDataSource());
    }

}
<soapenv:Fault>
  <soapenv:Fault>
    <faultcode>soapenv:ServeruserException</faultcode>
      <faultstring>java.lang.NullPointerException</faultstring>
        <detail>
          <nsl:hostname xmlns:ns1="http://xml.apache.org/axis/">home.local</nsl:hostname>
        </detail>
      </soapenv:Fault>
    </soapenv:Body>
</soapenv:Envelope>