一、@Autowired
作用是自行匹配然后自动注入
必须要先注入然后才能实例化categoryService,不然不知道这个是什么东西
而不是先实例化才能注入,这个先后关系要弄清楚
二、问题
按照我之前的想法,我认为how2j中的那个案例没有必要使用service那个接口,因为其中代码本来就只是mapper中的一部分,但是在正式实施的时候发现是不行的
也许和xml中实例化了mapper中的方法有关?
三、p274SSM使用案例
书中代码不全,导入案例也出现了错误不能完全导入,先大概理解一下步骤
1、创建实体类,并声明私有属性和公有方法
知识点补充:私有属性无法直接获取,但是可以通过公有方法得到
UsersBean.java
2、持有层
声明SqlSesisonFactory、SqlSession、mapper属性;
为mapper创建get\set方法
构造函数调用父类的构造方法(super超);
获取用户所有信息;
根据用户id查询指定用户信息;
创建方法,修改用户信息和删除用户信息
repository:仓库
3、编写业务层
应该是mapper,并且配置对应xml文件在其中完善方法
xml文件中要有一对mapper标签,其中的namespace属性中填写对应接口(该例子中是com.mr.dao.UserDao)
书上p278,创建业务层接口service,再创建业务层的实现类serviceImpl
通过spring注解将Dao类注入实现类,使用@Autowired
4、创建控制器
5、配置SpringMVC
视图解析器(视图定位到jsp文件)、静态资源加载、扫描控制器、配置指定控制器、自动扫描
6、配置控制器
详见282,唯一有问题的地方在于访问控制器是如何实现的这一步没看懂
7、在index.jsp页面做一个跳转按钮自动跳转到控制器
8、在getAll.jsp页面显示
我自己再按照代码递进重新整理一下
首先创建Dao接口
然后是Impl,implement是执行的意思,案例中有两个,分别是连接、获取mapper,以及继承Dao,实例化方法
mapper中的内容就是从表中获取信息
在jsp页面中,设置onclick操作获取用户id
后续又重新尝试了下增删改查操作,还是不太行,先到这里吧
用时:四小时
突然想到可以先不管点击表格中的编辑与删除直接在控制器中进行操作,确保增删改查掌握了....
明天再尝试一下吧