课程计划
目标:实现商品列表的查询(没有插入数据就可以查询吗,当然可以,我们可以模拟一点数据)
- 框架整合springmvc+spring+mybatis
- 创建数据库
- 使用mybatis的逆向工程生成代码
- 商品列表功能实现
创建数据库
逆向工程
Mybatis的逆向工程。根据数据库表生成java代码。
导入Mybatis的逆向工程(这个是官方带的一个代码,拿过来就用了)。E:1.Java就业全套视频30-SSM分布式案例-互联 商城-阶段项目-必看(共197集)第1套 推荐观看淘淘商城(SpringMvc+Spring+Mybatis) 2.第二天(框架整合,后台系统搭建) 1.参考资料逆向工程generatorSqlmapCustom
然后我们的代码怎么生成的决定于一个配置文件:generatorConfig.xml
注意:如果想再次生成代码,必须先将已经生成的代码删除,否则会在原文件中追加。
逆向工程代码成成完了,我们先放到这里,待会用的时候再拿。
SSM框架整合
整合的思路
Dao层
我们得一层一层来,先看Dao层
Dao层:使用mybatis框架。创建SqlMapConfig.xml(Mybatis就这一个配置文件)。这里面需要配什么据库连接需要配吗用,整合后数据库连接让Spring来管理。需要配别名,别名是必须的吗不是,所以这个其实可以只是一个功能性的文件,里面啥也不需要配。
我们暂时不用向里面添加任何配置,像数据库连接池、事务之类的配置会交给Spring来管理,别名可配可不配,因此我们这里就放一个只有头的空文件就可以了(文件虽然没有配置任何内容,但是不能没有)。
创建一个applicationContext-dao.xml,这个是给Spring用的,这里面需要干什么事/p>
- 配置数据源
- 需要让Spring容器管理SqlsessionFactory,单例存在。
- 把mapper的代理对象放到spring容器中。(三种方式)这里我们使用扫描包的方式加载mapper的代理对象
Service层
- 事务管理
- 需要把service实现类对象放到spring容器中管理(所有的service实现类都要放到spring容器中管理。)
表现层
表现层就一个springmvc框架吧!由springmvc来管理controller,而且还要记得引用dubbo服务哟!总的来说,springmvc框架的核心配置文件的内容有:
- 配置注解驱动
- 配置视图解析器
- 需要扫描controller
Web.xml
最后,千万不要忘了在web.xml文件中添加如下配置:
- spring容器的配置
- Springmvc前段控制器的配置
- Post乱码过滤器
下面我们想这些配置文件放在那里aotao-manage下面又四个子工程,这些dao、service、表现层的配置文件分别放在对应的工程里面吗是的!因为前三个工程就是jar包,最终打包后会放在/webapp/web-inf下面,配置文件放在这里是读取不到的。所以应该放到web工程下的src/main/resources下面。
我们的web工程运行时,是谁来读取配置文件的tomcat来读取的,tomcat不支持从jar包里面来读取配置文件。所以放到前三个里面tomcat是读取不到的。那问题来了,那我们再前三个工程里面是有些pom.xml文件的,你tomcat怎么读哪是我tomcat根本不读,因为这些配置文件的阅读是框架实现的(这里的框架应该是maven工程)—–这句话说的不对哈,但是我先不删,虽然也无用
我们为什么把配置文件放到web项目下,即war工程下,而不放到jar工程下因为我们平时的小工程放的配置文件都是在src下面。而被打包的jar工程是在webapp下面的web-inf下面,这个是读取不到的。这里的三个框架是不能从这里读取到配置文件的(或者可以说它没有做到这个技术)
框架整合
我们根据框架在src/main/resources下面新建几个文件夹
Service层
配置applicationContext-service.xml:这里面只是配置了扫描哪个包描service项目下的com.taotao.service包下的带有@Service注解的类。
applicationContext-service.xml文件的内容如下所示,可以看到我们配置包扫描器,扫描所有带@Service注解的类。
Web.xml
我们在服务层新建了三个配置文件,那么程序是怎么知道这三个文件的呢就需要在服务层初始化spring容器了,方法是在taotao-manager-service工程下的web.xml文件中进行配置。
那么我们不要spring了,只要springmvc,把service,dao,controller都放进来可以吗然是可以的。我们以前这么干过。
我们的事务配置到controller里面可以吗可以(前提是SSM架构,service,dao在Spring容器中,Springmvc在Springmvc容器中)。这时候事务管理器访问不了controller。因此配置到service中。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!