我必须开发一个使用Spring MVC的应用程序(我从未使用过),并且将其转换为jar作为其他解决方案的导入。我已经使用spring boot做到了,当应用程序部署在服务器上时,它运行良好。
我只需要使其适应项目环境即可。
我有一个Document类,其中包含一个静态Main类和第二个方法:
@Autowired
private DocumentController documentController;
public static void main(String[] args) throws Exception {
Document document = new Document();
document.sendDoc();
}
此方法正在调用另一个设置参数的方法:
private void sendDoc() throws Exception {
DocumentController documentController = new DocumentController();
// object to build
DocumentRestRequest documentRestRequest = new DocumentRestRequest();
// i set the object before sending it to my controller
documentController.createSignatureRequestData(filePath,documentRestRequest);
}
在控制器(带有@Controller的注释)中,对象正在从一种方法传递到另一种方法:
public void createSignatureRequestData(Path fullPath,DocumentRestRequest documentRestRequest)
throws Exception {
ModelMapper modelMapper = new ModelMapper();
DocumentDto documentDto = modelMapper.map(documentRestRequest,DocumentDto.class);
DocumentRest documentRest = modelMapper.map(documentDto,DocumentRest.class);
sendRequestSignature(documentRest);
}
此方法调用第二个方法:
public void sendRequestSignature(DocumentRest documentRest) throws Exception {
ModelMapper modelMapper = new ModelMapper();
DocumentDto documentDto = modelMapper.map(documentRest,DocumentDto.class);
DocumentCreateRequestDto documentToSign = documentService.sendRequest(documentDto);
DocumentCreateRequestRestResponse returnValue = modelMapper.map(documentToSign,DocumentCreateRequestRestResponse.class);
log.warn("# sendRequestSignature() called : " + returnValue.toString());
launchSignatureRequests(returnValue);
}
在这个阶段,我的问题是我在调用服务层(注释为@Service)时收到一条错误消息:
Exception in thread "main" java.lang.NullPointerException
at com.certeurope.app.Document.sendDoc(Document.java:88)
at com.certeurope.app.Document.main(Document.java:27)
我编写此代码是因为该应用程序将转换为jar并添加为库。应用程序的入口点将在DocumentController类中,该类包含:createSignatureRequestData(filePath,documentRestRequest)。
我试图创建一个bean.xml,其中包含以下信息:
<context:component-scan base-package="com.certeurope.app" />
<context:annotation-config />
还有一个配置文件:
@Configuration
public class ApplicationContextConfiguration {
@Bean
public Document document(){
return new Document();
}
}