Jfinal-Controller层注入Service空指针异常
代码
Controller层
@Path("/hello")
public class HelloController extends Controller {@InjectUserService userService;public void index() {User user=userService.findById(1);renderJson(user);}
Service层
public class UserService {private User dao=new User().dao();public User findById(int id){return dao.findById(id);}public void deleteById(int id){dao.deleteById(id);}
}
访问接口:http://localhost/hello
错误信息:空指针异常
3月 24, 2021 8:23:48 下午 com.jfinal.core.ActionHandler error
严重: demo.HelloController.index() : /hello
java.lang.NullPointerExceptionat demo.HelloController.index(HelloController.java:12)at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.base/java.lang.reflect.Method.invoke(Method.java:566)at com.jfinal.aop.Invocation.invoke(Invocation.java:97)at com.jfinal.core.ActionHandler.handle(ActionHandler.java:88)at com.jfinal.core.JFinalFilter.doFilter(JFinalFilter.java:90)at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
错误分析:idea开启调试模式进行调试,依赖注入service类为空,通过经验判断应该是service类没有交给框架容器管理,例如springboot项目中需要为service类添加@Service注解,声明此类为组件并交给容器管理。
解决方案:在Jfinal配置类中的常量配置方法中设置依赖注入为true
@Overridepublic void configConstant(Constants me) {/*** 支持 Controller、Interceptor、Validator 之中使用 @Inject 注入业务层,并且自动实现 AOP* 注入动作支持任意深度并自动处理循环注入*/me.setInjectDependency(true);// 配置对超类中的属性进行注入me.setInjectSuperClass(true);}
结果:运行成功,查出数据
Jfinal-Controller层注入Service空指针异常相关推荐
- SpringBoot框架分层(View层、Controller层、Service层、Mapper层、pojo层)
SpringBoot框架一般分为View层.Controller层.Service层.Mapper层.pojo层. View层:视图层,根据接到的数据展示页面给用户 Controller层:响应用户需 ...
- 为什么Controller层注入的是Service接口,而不是ServiceImpl实现类
错误代码: Service层接口interface PCI{} 接口实现类@Serviceclass PCIImpt imeplements PCI{}Controller层@Autowiredpri ...
- SpringBoot—单元测试模板(controller层和service层)
关注微信公众号:CodingTechWork,一起学习进步. 介绍 概述 在开发过程中,我们经常会一股脑的写各种业务逻辑,经常等全部大功告成的时候,打个jar包放环境里跑跑看看能不能通,殊不知在各 ...
- Dao层,Mapper层,controller层,service层,model层都有什么作用
原文链接 SSM是sping+springMVC+mybatis集成的框架. MVC即model view controller. model层=entity层. 存放我们的实体类,与数据库中的属性值 ...
- SSM框架中Dao层,Mapper层,controller层,service层,model层,entity层都有什么作用
SSM是sping+springMVC+mybatis集成的框架. MVC即model view controller. model层=entity层.存放我们的实体类,与数据库中的属性值基本保持一致 ...
- 对SSM框架中Dao层,Mapper层,controller层,service层,model层,entity层等层的理解
SSM 是 Spring + SpringMVC + Mybatis集成的框架. MVC即model view controller.(模型,视图,控制器) 一.entity层(model层,doma ...
- Controller层和Service层具体区分
controller层,主要用于给前端返回数据的以及接收前端的数据的, service层,总之就是处理数据用的. 处理controller层传过来的数据然后传给给dao层链接数据库进行增删改查, 从d ...
- controller层,service层,mapper层,entity层的作用与联系。
一. controller层 controller层是用来接受前台数据和返回页面请求信息的,Controller层是不允许直接操作数据库的!它就像一个服务员,哪桌客人需要点菜了,就喊一声服务员! 对应 ...
- service层中注入conroller_springMVC中controller层调用service层的方式
springmvc 中普通类调用注解service层 的方式除了 1.自动注入外: @Autowired UserService userService; 2.还可以这样: 工具类: /** * * ...
最新文章
- IDEA模块(module)的概念和使用_对比Eclipse
- 线性表--链式实现方式
- 手把手带你学习如何在小程序、网页前端部署AI模型
- linux tar压缩权限,LINUX 文件/组/帮助/权限/文件压缩/管道
- wikioi 1430 素数判定
- 数据挖掘如何计算相关性_一份数据挖掘入门指南!!!
- [论文翻译]Sequence to Sequence Learning with Neural Networks
- 使用HP优盘启动盘格式化工具制作DOS7.1启动盘,U盘.SD.TF卡均可用
- Android系统生成jks签名
- 华为m6平板电脑Linux,华为平板M6 10.8英寸版使用体验及全面评测
- 基于ROS的仿人机器人运动规划与实现
- 句法分析 依存句法分析
- u盘服务器安装win7系统安装教程视频教程,小白U盘安装win7系统教程
- 肯德基中国门店将限时发售植物肉汉堡
- 第十届泰迪杯数据挖掘B题:电力系统负荷预测分析--解题思路与部分代码03
- conda 配置R虚拟环境并安装 monocle 包
- java 手机动态口令_动态密码TOTP的Java实现
- 【SSL 1458】zzzyyds(DP)
- 【Verilog 设计】Verilog 实现偶数、奇数分频和任意小数分频
- pythonnamedtuple定义类型_python namedtuple的使用
热门文章
- FS4064 SOP8 两节8.4V线性锂电池充电IC
- elasticsearch 安装配置
- 恶补FPGA知识——亚稳态
- linux系统安装软件报错,Linux安装软件时报错解决方法
- Webpack——ES6转ES5
- 计算机、网络安全、CTF资源总结-The_Growth_Path_Of_A_Pwner(一名安全从业者的成长之路)
- CAS 密码盐值加密
- java Map的基本用法
- opencv--GrabCut
- 研华板卡cvi例程_研华amp;NI LabVIEW编程对比与驱动互换视频