Java 是否可以在abstractview类中注入服务类?
我想在下面的抽象视图类中使用公共函数(@service class object)。 我将为我的项目创建一些视图,因此为了方便起见,我想在ExcelSharedService类中创建一些通用函数。 但效果不好。 你能给我一些建议吗?请Java 是否可以在abstractview类中注入服务类?,java,spring-boot,apache-poi,Java,Spring Boot,Apache Poi,我想在下面的抽象视图类中使用公共函数(@service class object)。 我将为我的项目创建一些视图,因此为了方便起见,我想在ExcelSharedService类中创建一些通用函数。 但效果不好。 你能给我一些建议吗?请 public类ExcelView扩展了AbstractXlsxView{ //启动此类时,不会注入此部分。 @注入 私人卓越共享服务卓越共享服务; @凌驾 受保护的void buildExcelDocument(映射模型、工作簿、HttpServletReques
public类ExcelView扩展了AbstractXlsxView{
//启动此类时,不会注入此部分。
@注入
私人卓越共享服务卓越共享服务;
@凌驾
受保护的void buildExcelDocument(映射模型、工作簿、HttpServletRequest、,
HttpServletResponse)引发异常{
//创建工作表
工作表=工作簿.createSheet(“项目”);
Row Row=sheet.createRow(0);
row.createCell(0.setCellValue(“A”);
行.createCell(1).setCellValue(“B”);
row.createCell(2.setCellValue(“C”);
最终字符串[]数据列表=新字符串[]{“10”、“20”、“30”};
CellRangeAddressList范围=新的CellRangeAddressList(1,10000,1,1);
//这是常见的功能
setValidation(表、范围、数据列表);
}
}
ExcelSharedService.java
@服务
公共类ExcelSharedService{
公共void setValidation(工作表,CellRangeAddressList范围,字符串[]数据列表){
DataValidationHelper=sheet.getDataValidationHelper();
DataValidationConstraint=helper.createExplicitListConstraint(dataList);
DataValidation=helper.createValidation(约束,范围);
表.添加验证数据(验证);
}
public void setMergedRegion(工作表、CellRangeAddress范围、字符串值){
表.添加合并区域(范围);
Row Row=sheet.createRow(range.getFirstRow());
Cell Cell=row.createCell(range.getFirstColumn());
cell.setCellValue(值);
}
下面是错误消息
at org.springframework.web.servlet.view.document.AbstractXlsView.renderMergedOutputModel(AbstractXlsView.java:68)
at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:303)
at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1286)
at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1041)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:984)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:635)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.boot.web.filter.ApplicationContextHeaderFilter.doFilterInternal(ApplicationContextHeaderFilter.java:55)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at jp.co.nttdataccs.macau.web.trace.MdcPreparationFilter.doFilterInternal(MdcPreparationFilter.java:39)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.boot.actuate.trace.WebRequestTraceFilter.doFilterInternal(WebRequestTraceFilter.java:110)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:317)
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:127)
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:91)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:114)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:137)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:111)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:170)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:200)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:116)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
at jp.co.nttdataccs.bmf.config.BmfCsrfFilter.doFilterInternal(BmfCsrfFilter.java:39)
你得到了什么错误?我得到了NullPointerException.\uuuu uuJava.lang.NullPointerException:null位于org.springframework.web.servlet.view.document.AbstractXlsView.RenderMergeDoutModel(AbstractXlsView.java:68)的ExcelView.buildExcelDocument(PipeLineProjectUpdateExcelView.java:100)上位于org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:303)处,位于org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1286)请编辑问题并将错误粘贴到此处,同时向我们显示ExcelSharedService感谢您的帮助。我已经添加了错误消息&ExcelSharedService代码。那么,您为什么不使用
@Autowired