ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:1.10MB ,
资源ID:9927724      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-9927724.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(实验06《基于Spring+MyBatis+JavaFX框架的教学管理程序》的设计与实现.docx)为本站会员(b****0)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

实验06《基于Spring+MyBatis+JavaFX框架的教学管理程序》的设计与实现.docx

1、实验06基于Spring+MyBatis+JavaFX框架的教学管理程序的设计与实现实验06、基于Spring+MyBatis+JavaFX框架的教学管理程序的设计与实现一、实验说明上一个实验使用MyBatis框架改写了教学管理程序的底层Mapper层。这次的实验将在上一个实验的基础上,使用Spring框架整合MyBatis和JavaFX。Spring是一个管理和维护javaBean的容器,因此,本实验涉及到的绝大多数对象都要被Spring容器抢走或接管。1) JavaFx的Controller层被Spring容器接管2) Service(Biz)层的各个类被Spring容器接管3) MyBa

2、tis的Mapper(Dao)层接口,被Spring容器抢走4) MyBatis的Mapper.xml,也被Spring容器抢走5) MyBatis核心操作对象SqlSession的bean工厂SqlSessionFactory被Spring容器抢走二、实验准备1、下载、安装、配置好mysql-8.0.12-winx64和Navicat。不赘述2、下载、解压好mysql的jdbc驱动mysql-connector-java-8.0.12,并导入项目中。不赘述。3、下载、解压好连接池commons-dbcp2-2.5.0和其依赖包commons-logging-1.2和commons-pool2

3、-2.6.0,并导入项目中。不赘述。4、下载、解压好mybatis-3.4.6,并导入项目中。不赘述。5、下载、解压好spring-framework-5.1.1.RELEASE。进入lib文件夹,里面的每一个jar包都是spring框架的组件jar包,这里的组件jar包很多,为了管理方便,项目将该组jar包以user library的形式导入,如下所示:然后一路Ok、Apply或finish就导入了spring5.1.1。6、下载、解压好spring整合mybatis的jar包mybatis-spring-1.3.2,并导入项目中。至此,本项目使用的第三方jar包导入完毕。如下所示:三、整合

4、过程整个整合过程基本上就是spring抢bean的过程。下面只列出和实验05相比,发生变化的部分。1、 resource目录(1)修改mysql.properties增加连接池dbcp2的配置,如下所示(2)修改mybatis-config.xml本来mybatis-config中配置了typeAliases、datasource、mapper等内容,但datasource、mapper会被spring抢走,因此只剩下typeAliases。如下所示:(3)增加spring核心配置文件:spring-context.xmlSpring-context.xml文件里面要写两套配置:1 sprin

5、g自身配置;2 抢过来的bean配置。参考代码如下:A)抢走数据库配置B)抢走生产sqlSession的bean工厂sqlSessionFactory,顺带抢走了mapper.xml和mapper接口类对象C)spring自身的配置(4)resource/mapper文件夹里面的内容不变2、exception包不变3、util包(1)删除获得mybatis核心操作对象sqlSession的类DBUtil因为sqlSession被Spring抢走了,由Spring接管对它的管理和维护。(2)增加SpringFxmlLoader类由于javaFx的controller将由spring接管,那么前期

6、使用FXMLLoader类加载FXML界面文件的方式要修改。SpringFxmlLoader类的参考代码如下:其中,该类中的JavaFXAppMain.APPLICATION_CONTEXT在入口类中定义并赋值,见本文档最后。之后将利用SpringFxmlLoader来加载fxml文件。4、domain、domain.wrapper不变5、mapper层使用注解创建组件对象。组件对象的注解有四种:Component、Repository、Service、Controller,用在类或接口上,分别表示创建组件、创建数据操作层组件、创建服务层组件、创建控制器层组件。目前,spring对这四者没有区

7、别,都通用。但是,作为一个优雅的Javaer,还是需要严格区分的,建议不同的层次使用不同的注解。如在StudentMapper接口类上,添加注解Repository,在程序运行过程中,spring就会创建一个StudentMapper类型的对象,该接口由studentMapper.xml实现,因此创建的对象事实上是实现类(这里是studentMapper.xml)的对象。如果不指定对象名字,spring则会按类型查找。单例模式下,不需指定对象名字;非单例模式下,可以指定名字,如Repository(“studentMapper”)。如果要在service层注入该对象,没指定名字的条件下,直接使

8、用注解Autowired,按类型查找;如果指定了名字,则使用AutowiredQualifier(studentMapper)两个注解修饰。下面是StudentMapper接口添加接口后的参考代码。只是添加了注解,其他都没变。mapper层的其他接口UserMapper、CourseMapper、GradeMapper同样处理即可。6、service层这一层,之前项目一直使用”biz”的名称,但在Spring框架中,这一层称为service,因此,本项目将该层重命名为service,该层的类重命名为以”Service”结尾,如StudentService。首先,Service层依赖于mappe

9、r层,因此,要向service注入需要的mapper;第二,之前使用的sqlSession由于被spring接管,因此,不再需要sqlSession,删除即可;第三,之前该类的构造方法,是利用sqlSession的getMapper方法获得各个mapper,并初始化ObservableList,现在的mapper对象被spring接管,不需要getMapper了,还有ObservableList的初始化需要mapper,而这时service还不存在,也就不会存在mapper,因此,删除该构造方法,ObservableList的初始化工作不再使用构造方法,而使用一个显式方法,如setStudOb

10、servList来完成。因此,以下是StudentService的参考代码(部分):CourseService差不多GradeService也差不多,参考代码如下:7、controller层这一层是JavaFX的控制器层。(1)增加Controller注解该层除了抽象基类EditController不需要加Controller注解外,每个类将增加注解Controller,交由Spring接管。都是单例模式,根据类型注入。因此,不需要指定name。(2)使用SpringFxmlLoader类加载fxml界面切换到另一个界面使用类似于这两句就可以了,如启动主界面的方法如下:(3)在MainViewController的initialize方法中加载各个表数据显示MainView时,需要从数据库中加载全部数据,可以在MainViewController的initialize方法中实现。如下所示(4)各个控制器需要的service采用注入方式如,MainViewController需要注入studentService、courseService、gradeService,如下:其他controller注入如下:8、view层不变。9、程序入口程序入口类JavaFXAppMain的参考代码:这个类中加载了spring上下文。

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2