Java程序设计基础教程第12章-综合实训——简易网上自助银行系统

PPT
  • 阅读 70 次
  • 下载 0 次
  • 页数 97 页
  • 大小 5.322 MB
  • 2022-11-12 上传
  • 收藏
  • 违规举报
  • © 版权认领
下载文档30.00 元 加入VIP免费下载
此文档由【小橙橙】提供上传,收益归文档提供者,本网站只提供存储服务。若此文档侵犯了您的版权,欢迎进行违规举报版权认领
Java程序设计基础教程第12章-综合实训——简易网上自助银行系统
可在后台配置第一页与第二页中间广告代码
Java程序设计基础教程第12章-综合实训——简易网上自助银行系统
可在后台配置第二页与第三页中间广告代码
Java程序设计基础教程第12章-综合实训——简易网上自助银行系统
可在后台配置第三页与第四页中间广告代码
Java程序设计基础教程第12章-综合实训——简易网上自助银行系统
Java程序设计基础教程第12章-综合实训——简易网上自助银行系统
还剩10页未读,继续阅读
【这是免费文档,您可以免费阅读】
/ 97
  • 收藏
  • 违规举报
  • © 版权认领
下载文档30.00 元 加入VIP免费下载
文本内容

【文档说明】Java程序设计基础教程第12章-综合实训——简易网上自助银行系统.ppt,共(97)页,5.322 MB,由小橙橙上传

转载请保留链接:https://www.ichengzhen.cn/view-2295.html

以下为本文档部分文字说明:

新一代信息技术“十三五”系列规划教材◆刘刚刘伟编著第12章综合实训——简易网上自助银行系统Java经典的应用场景是Web应用程序开发,Java的跨平台性使其在Web应用程序开发方面占尽了优势,加上其语言的特性、丰富的API和扩展类库以及

对众多脚本语言的支持,虽然有PHP和Python等众多语言的加入,Java在该领域的龙头地位依然稳固。应用程序开发分为C/S架构和B/S架构,就是Client/Server(客户端/服务器)和Browser/Server(浏览器/服务器)架构,目前Java主要项

目集中在B/S应用方面。为了学习如何开发B/S架构的服务,读者需要了解一些JavaWeb项目中主要的开发技术,包括数据库、日志系统、测试系统等一系列的知识。因篇幅原因,本章节只对一些必要的内容进行概括性讲解,更加深入的内容,读者可以查阅JavaWeb相关的书籍和网上资源进行学习。

12.1JDBCWeb开发中不可避免地要进行数据的交互,如何管理和交互数据是Web开发的重点,为了方便数据的存储和使用,数据库系统应运而生。但是众多的数据库系统因其设计的差异而在切换时对项目影响巨大,为了让开发者关注程序开发,Java在1996年提供了一套访问数据库的标准Java类库,即JD

BC。12.1.1JDBC的概念JDBC全称是Java数据库连接(JavaDatabaseConnectivity),它是一套用于执行SQL语句的JavaAPI。通过该API,开发者可以快速连接到关系型数据库,并使用SQL实现对数据库中数据的增、删、改、查功能。由于市场上数据库种类

繁多,因各种原因需要切换不同数据库或者根据需要使用不同的数据库来存储对应的数据,都会让开发者感到非常头疼,Java提供的JDBC改善了这种情况。JDBC要求各数据库厂商按照统一的规范提供数据库驱动,用户无需直接与底层数据进行交互,大大增强了代码的可移植性,

如图12-1所示。图12-1JavaJDBC模型示意图通过该模型,开发者只需要修改数据库的驱动连接就可以方便快捷地完成对数据的切换工作,而无须修改其他内容。JDBC让开发者无须关注数据库类型,只需要关注程序的实现即可。12.1.2JDBC通用A

PIJDBC的API主要位于java.sql包中,该包定义了一系列访问数据库的接口和类,其中包含与数据库连接和数据库操作的一系列Java类和接口。1.Driver接口Driver接口是所有JDBC驱动程序

必须实现的接口,该接口专门给提供数据库厂商使用,在使用数据库时,需要将对应的数据库驱动程序或其类库添加到项目的classpath中。此处主要讲解MySQL,所以在使用MySQL数据库时,首先需要导入MySQL的驱动包。导入MySQL的驱动包步骤如下。首先,在项目名称上单击鼠标右键

,在弹出的快捷菜单中选择“BuildPath→ConfigureBuildpath”选项,如图12-2所示,进入Java的BuildPath页签,如图12-3所示。图12-2打开BuildPath图12-3JavaBuil

dPath在Libraries页签下,单击“AddExternalJARs…”按钮,选择源代码中的MySQL驱动包,如图12-4所示。图12-4选择MySQL驱动包然后按“OK”键确定即可,如图12-5所示。图12-5加入MySQL的驱动Jar包2.Dri

verManager类DriverManager类用于加载JDBC驱动并创建与数据库的连接。该类有两个静态方法,一个是regiseterDriver(Driverdriver)方法,用于向DriverManager中注册给定

的JDBC驱动程序,另一个是getConnection(Stringurl,Stringuser,Stringpwd)方法,用于用户建立和数据库的连接,并返回一个Connection对象。运行结果如图12-6所示。图12-

6运行结果厂商不同,驱动程序也不同,如果想要使用Oracle数据库,就需要下载对应的驱动Jar包。Oracle的数据库连接的url是:jdbc:oracle:thin:@localhost:1521:orcl。其中,localhost是ip地址,orcl

是实例名称。同MySQL不同的是,Oracle默认的实例名称是orcl,读者要注意这一点。另外,与数据库的连接对象是会占用系统资源的,该连接需要手动关闭,所以,每次使用的时候一定要在finally语句中将该连接关闭!3.Connection接口Connection接口代表着Java程序对数据库的连

接,该对象负责对数据库的访问和操作。通过该对象,你可以根据自己的需求进行数据库的对应操作。Connection对象可以创建一个Statement对象(createStatement())、PreparedStatement对象(prepare

Statement())和CallableStatement对象(prepareCall()),这些对象分别用于将一个sql语句、一个参数化的sql语句和一个存储过程放到数据库服务器上执行。4.Statement接口Statement接口用于执行静态的sql语句,并返

回一个处理结果。该对象通过Connection对象的createStatement()方法获取。该语句有3个主要的方法:execute(Stringsql)、executeUpdate(Stringsql)和executeQuery(Strin

gsql)。execute(Stringsql)用于执行任何sql,其返回值是一个boolean类型的对象,如果该值为true,表明有查询结果,可以通过Statement的getResultSet()方法获取查询结果。executeUpdate(

Stringsql)方法用于执行INSERT(插入)、UPDATE(更新)和DELETE(删除)语句,该方法返回一个int类型的值,用于反映受该语句影响的记录数。executeQuery(Stringsql)方法用于执行sql语句中的SELECT(查询)语

句,该语句返回一个ResultSet对象。运行结果如图12-7所示。图12-7运行结果为了验证表是否创建成功并且成功插入数据,在workbench中的users表进行查询,如图12-8所示。通过workBench可以看到,users表已经成功地创建了,并且也成功地插入了数据。图12-8

workbench查询数据5.PreparedStatement接口和ResultSet接口PreparedStatement接口是Statement接口的扩展接口。因为在实际的开发过程中,很多的查询条件都是通过变量进行的,这样使用S

tatement就比较烦琐。而且,如果通过Statement语句直接组装sql语句,可能会产生sql注入等安全问题,PreparedStatement接口完美地规避了这些问题。PreparedStat

ement是Statement的子接口,用于执行预编译的sql语句。该语句扩展了带有参数的sql语句的执行操作,使用“?”占位符来表示此处需要一个参数,并通过setXxx()方法进行参数赋值。值得注意的是,Prepa

redStatement支持批处理操作。ResultSet接口用于保存JDBC执行查询时返回的结果集,该结果集封装在一个逻辑表格中,ResultSet使用一个游标进行数据的获取,该游标默认指向表格的第一

行之前,调用next()方法时会向下一行移动。next()方法有一个boolean类型的返回值,如果逻辑表格含有下一行数据,则该方法返回true,否则返回false。通常,数据使用while条件语句进行读取。ResultSet每一行中都有若干列,每一

列使用getXxx()方法获取。如果值是字符串,则可以使用getString(intcolumnIndex)或者getString(StringcolumnName)两种方式获取,前者通过列在逻辑表格中的逻辑位置进行获取,后者使用表中的列名进行获取。运行结果如

图12-9所示。图12-9运行结果案例12-3中,首先判断表是否存在,存在则删除表,然后创建一个表,并插入数据。预埋数据有四条,其id分别是100001、100002、100003和100004,通过id比10

0002大的条件去查询数据,返回100003和100004两条数据,与打印输出的数据一致。最后,切勿忘记关闭数据库连接!12.2日志日志是记录程序运行信息的文本,和飞机的黑匣子和航海日志一样,可以通过程序运行的日志信息判断程序的运行情况。特别是在碰到异常时,因为

程序部署在服务器上不像本地一样可以通过运行发现问题,日志就成了至关重要的查错手段。目前使用的日志中,Log4j是比较稳定且常用的日志之一,它是Apache开源的一个项目。通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI

组件,甚至是套接口服务器、NT的事件记录器、UNIXSyslog守护进程等;也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,能够更加细致地控制日志的生成过程。Log4j最大的特点之一就是可以通过配置修改日志打印的级别而不需要修改任何代码。Log4j的日志级别一般

分为五种,分别是:DEBUG、INFO、WARN、ERROR和FATAL。日志的级别是为了协助相关人员快速查询对应的问题而设定的。1.DEBUG级别DEBUGLevel指出的日志细粒度信息对于应用程序的调试

是非常有帮助的,这些日志能够帮助开发者判断程序是否符合预期,这些日志一般只在程序开发和调试阶段使用。2.INFO级别INFOlevel表明消息在粗粒度级别上突出强调应用程序的运行过程。这类数据一般较为详细,能够帮助相关人员判断问题所在。3.WARN级别WARNlevel表明会出现潜在错误的

情形。一般此类日志出现得比较少,也比较少用。4.ERROR级别ERRORlevel指出虽然发生错误事件,但仍然不影响系统的继续运行。此类信息会帮助开发者定位问题所在,判断该问题是否需要处理等。5.FATAL级别FATALlevel指出每个严重的错误事件将会导致应用程

序的退出。Log4j建议只使用四个级别,优先级从高到低分别是ERROR、WARN、INFO、DEBUG。通过在这里定义的级别,可以控制到应用程序中相应级别的日志信息的开关。比如在这里定义了INFO级别,则应用程序中所

有DEBUG级别的日志信息将不被打印出来,也就是说大于等于的级别的日志才输出。➢Tips:需要注意的是,Log4j在多线程情况下会竞争Logger的锁,导致系统性能在高并发情况下吞吐量严重下降,而且,Apache官网已经停止更新Log4j了,所以可以使用Log

4j2或者logback等日志框架。12.3测试在程序开发的进程中,测试一直是一个无法规避且非常重要的模块。但是需要认识到的是,测试不一定能保证一个程序是完全正确的。但是,测试可以确保程序做了我们期望它做的事情,也能够使开发者尽早发现程序的不足和BUG,在《快速软件开发》一书中引用的大量研

究数据指出:最后才修改一个BUG的代价是它产生时就修改的代价的10倍!12.3.1JUnit简介在Java开发实践中,说到测试,大名鼎鼎的JUnit一定是所有程序员都熟知的回归测试框架,是单元测试中不可或缺的框架。JUnit是一个开放源代码的Java测试框架,用于编写和运行可重复的测试。它是用于单

元测试框架体系xUnit的一个实例(用于Java语言),包含以下特性。•用于测试期望结果的断言(Assertion)。•用于共享共同测试数据的测试工具。•用于方便地组织和运行测试套件。•图形和文本的测试运行器。

JUnit属于白盒测试,程序员知道软件是如何完成相关功能的。在一般的项目中,JUnit一般通过MAVEN工具进行版本管理,通过配置对应的仓库位置并设置对应应用域,可以让JUnit的Jar包和对应的单元测试内容不会被打包到生产包中,既方便了开发者的测试,也不会影响正式的

程序发布。12.3.2功能测试及断言JUnit的强大之处在于它可以对测试期望结果进行断言,这使得测试案例可以自动运行、自行验证,它会告诉我们测试结果是否通过,而无须开发者和维护者自行判断结果是否正确。使用JUnit进行单元测试需要导入测试必需的JUnit的Jar包,读者可自行下

载或者使用源代码中提供的Jar包。其导入方式同JDBC驱动包的导入方式一样。运行结果如图12-10所示。图12-10运行结果在使用JUnit测试方法和接口时,需要使用@Test注解标记该方法是一个JUnit测试案例。为了便于直观地查看测试是否成功,Eclipse提供了一个J

Unit的页签专门用于查看测试方法是否正确运行,其显示结果如图12-11所示。图12-11JUnit页签的指标及含义运行结果如图12-12和图12-13所示。图12-12运行结果图12-13运行结果通过该案例可以发现@BeforeClass和@Before的异同点。首先,@BeforeCla

ss注解的方法必须是static修饰的;其次,该注解注释的方法只在每次执行该类的测试方法时运行一次,而@Before注解的方法不需要使用static修饰,该方法会在测试类运行过程中每次调用一个方法前执行一次该方法。有些读者

在运行该案例时,会遇到JUnit页签抛出initializationError错误的情况,这是因为没有导入hamcrest-core-1.3.jar这个Jar包导致的,其错误如图12-14所示。导入后运行正常。图12-

14initializationError异常12.4事务Java中的事务主要是指数据库的事务。数据库事务(DatabaseTransaction)是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行。一个逻辑单元如果要成为事务,必须满足所谓的A

CID属性,即原子性、一致性、隔离性和持久性。1.原子性(Atomic)事务必须是原子工作单元,对于其数据修改,要么全都执行,要么全都不执行。如果系统只执行这些操作的一个子集,就会破坏事务的总体目标,原子性消除了系统只处理子集的可能性。2.一致性(Consisten

t)事务在完成时,必须使所有的数据都保持一致状态。在相关数据库中,所有规则都必须应用于事务的修改,以保持所有数据的完整性。事务结束时,所有的内部数据结构(如B树索引或双向链表)都必须是正确的。这些操作需要开发者强制空置已知的完整性约

束。3.隔离性(Insulation)由并发事务所作的修改必须与任何其他并发事务所作的修改隔离。事务查看数据时数据所处的状态,要么是另一并发事务修改它之前的状态,要么是另一并发事务修改它之后的状态,事务不会查看中间状态的数据。这称为隔离性,因为它能够

重新装载起始数据,并且重播一系列事务,以使数据结束时的状态与原始事务执行的状态相同。需要注意的是,执行一组事务获得的结果与单个执行每个事务所获得的结果是相同的,但事务的高度隔离会限制可执行的事务的数量。所以,对于一些场景,事务需要降低隔离级别或者将事务拆分成更小的事务单元以提升系

统的吞吐量。4.持久性(Duration)事务完成之后,它对于系统的影响是永久性的。该修改即使出现致命的系统故障也将一直保持。事务分为本地事务和分布式事务,相较于分布式事务,本地事务比较简单,只需要设置对应的事务单元然后统一提交即可。

为模拟事务模型,我们使用转账模型进行模拟。假设有两个账户——张三账户和李四账户,张三账户向李四账户转账100元,则只有在张三账户余额减少100元且李四账户余额增加100元时,才认为转账业务成功。运行结果如图12-15所示。图12-15运行结果从运行结果可以看出,事

务是正常完成的。为了模拟出错的情况,在转账的步骤还未提交前手动抛出一个错误,查看运行结果。为了验证事务的有效性,在转账方法中手动抛出一个空指针异常,经运行,程序的运行结果如图12-16所示。图12-16运行结果通过运行结果可以看出,当异常抛出时,对张三账户的数据修改没

有生效,对李四账户的数据修改也没有生效,符合数据修改的事务特性。12.5简易网上银行系统简易网上银行系统是具有账户查询、账户存取款和转账业务的简单网上自主银行。该系统有用户登录系统和账户操作系统,其中用户登录系

统有用户注册和用户登录两个模块,账户操作系统则有账户查询、账户存取款和账户转账业务模块,每个模块负责一个功能,共同组成一个简易的网上自主银行系统。12.5.1基础项目搭建为了开发Web项目,必要的软件安装和准备工作必不可少,前期准备完成之后,就需要进行项目搭建了。本次项

目搭建需要使用到的软件有:Java开发环境、Eclipse开发工具和TomcatWeb项目发布程序。其中Java开发环境和Eclipse开发工具读者都已经安装并使用过了。1.TomcatWeb应用服务器Tomcat最初是由Sun公司的软件架构师詹姆斯

·邓肯·戴维森开发的,后来他帮助将其变为开源项目,并由Sun公司贡献给Apache软件基金会。它是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,

是开发和调试JSP程序的首选。当然随着技术的发展,目前主流的网站已经很少使用JSP技术开发Web项目了,只因其性能不如HTML强。Tomcat是免安装的,只需要在Tomcat官网下载对应的zip包,解压到本地目录并添加到Eclipse中去即可。读者

可以在Tomcat官网下载最新版本,下载后解压到固定目录下,打开Eclipse开发工具,选择工具栏上的Window菜单下的Preferences选项,如图12-17所示。图12-17打开首选项在弹出的Eclipse首选项对话框中,首先找到“Server”,然后找到其下的“RuntimeEn

vironment”选项并单击,弹出服务器配置对话框,如图12-18所示。图12-18服务器配置对话框单击“Next”按钮,会弹出具体的服务器配置对话框,单击“确定”按钮,完成Tomcat的配置工作。如图12-19所示。图12-19配

置Tomcat服务器完成配置之后,在Eclipse工具的Servers视图下添加服务器,如图12-20所示。图12-20在Servers视图下添加服务器完成添加之后,就可以看到Servers视图下有了一个Tomcat服务器的标识,如图12

-21所示。图12-21完成服务器配置至此,Tomcat的准备工作就完成了。需要注意一些Tomcat的配置,例如监听端口号等,因为Tomcat默认使用8080端口,而这个端口会被Oracle数据服务器占用。所以,如果读者使用的是Ora

cle数据库,可以将Tomcat的端口修改成8181。具体修改在Package视图下的Servers中进行,其修改方式如图12-22所示。图12-22配置Tomcat监听端口至此就可以使用Tomcat服务器了,读者可以在CSDN网

站下载“解决EclipseNeon无法使用Tomcat的插件”,放到Eclipse下的dropins目录,本书使用的是Eclipseneon4.6.1版本。配置完成后,单击启动按钮,启动Tomcat服务器,无报错启动完成后

,在浏览器中输入“http://localhost:8080”访问Tomcat,显示页面如图12-23所示,表示服务器已经正确配置完成。图12-23访问Tomcat服务器2.MavenMaven项目对

象模型(POM),可以通过一小段描述信息来管理项目的构建,是管理报告和文档的软件项目管理工具。Java最大的优势是它有丰富的第三方库资源,但这也是它的问题所在,因为版本和继承关系问题,Java中Jar包的管理也非常令人头疼,Maven则可以帮助开发者去管理项目中的Jar包。当然,Ma

ven也能很方便地管理项目报告、生成站点等。Maven会自动管理Jar包,只需要知道Jar的位置即可,如有需要对应的Jar包信息,可以在MVNREPOSITORY网站中查找对应的Jar包。其使用方式如图12-24和图12-25所示。图12

-24使用关键字搜索Jar包图12-25获取对应版本的Maven地址信息对Maven感兴趣的读者可以自行查阅相关资料进行学习,此处仅作介绍。为了让后续的设计能够进行,此处将使用Maven作为构建工具,并使用Spring作为系统框架

,创建一个空白项目。首先要创建一个Maven的Webapp项目,其步骤如图12-26~图12-29所示。图12-26创建Maven工程1图12-27创建Maven工程2图12-28创建Maven工程,选择Web

app骨架图12-29配置对应信息,完成创建完成配置之后,项目的骨架如图12-30所示。图12-30Maven工程项目骨架启动项目,初始页面如图12-31所示。图12-31登录界面12.5.2账户注册及登录对

网上系统来说,用户是必不可少的模块,就拿目前中国用户量最多的手机用户来说,每当用户下载了一个APP应用,第一件事情就是创建一个用户,在Web应用开发上,也是如此。用户可以唯一标识这个用户的个人信息以及和其相关的其他内容信息,例如本例中的网上银

行,用户就有其对应的账户信息。本节重点讲解用户的登录和注册,让读者对Web项目有一个初步的认识。登录是已经注册用户的系统登录行为,注册则是新用户的系统登录注册行为,这两个操作涉及到数据库的查询和修改操作,通过这些步

骤,用户可以登录到系统,并享有系统提供的种种功能。本次只讲解登录功能,读者可以根据项目提供的register.html补全信息,完成用户的注册操作。为模拟用户登录操作,首先创建两个表,一个User表和一个Acc

ount表。User表的创建语句如下:createtableuser(idvarchar(18)primarykey,namevarchar(40),ageint,passwordvarchar(40),phonevarchar(11),home_add

rvarchar(200),input_datevarchar(10),input_timevarchar(19),last_update_datevarchar(10),last_update_timevarchar(19));Account表的创建语句如

下:createtableaccount(accountvarchar(20)primarykey,ownervarchar(40),balanceint,input_datevarchar(10),input_t

imevarchar(19),last_update_datevarchar(10),last_update_timevarchar(19));完成创建之后,在User库中预埋一条用户数据,其导出文件为user.c

sv,同时创建两条Account数据,其导出数据文件为account.csv。在项目启动前数据库中的User数据如图12-32所示。图12-32User预埋数据(1条)Account表中预埋数据如图12-33所示。图12-33Account预

埋数据(2条)右键单击项目,运行Maven的clean和install命令后启动Tomcat,完成项目跳转,跳转后的页面如图12-34所示。图12-34用户主界面登录操作完成验证后我们可以看到用户主界面,在这个界面,有存取款和转账功能,默认的是账户信息页面,因一个人可

能有很多个账户,所以,此处的显示是比较简单的情景,在真实的场景下账户和各个账户的余额可能有多个,而客户的总余额只有一个,那就是所有账户余额的总和。读者可以以此来修改LoginController.java和页面,让每个用户返回一个Ac

count列表,然后分页展示,同时在页面主页显示客户的总资产。在该页面中,单击“资产”则显示用户的账户和余额,单击“存款”则显示存款账户输入框和存款金额输入框,单击“取款”则显示取款账户和取款金额输入框,单击“

转账”则显示转出账户、转入账户和转账金额输入框。在对应的页签下,进行对应的操作,可以在页面和后台共同添加业务逻辑代码实现。12.5.3转账功能(事务)实现存取款功能的逻辑较为单一,存款需要进行账户是否存在的校验,为了保护客户权

益,还可以增加此账户是否是该客户账户的校验,防止用户输入账户信息后导致财产安全问题。该处比较贴心的处理是提供用户所有的账号,让用户方便使用下拉框方式选择需要存款的账户。取款需要校验账户是否存在、账户是否是该客户所属和账

户余额是否足够等问题,该操作也可以使用下拉框方式进行选择。转账则较为复杂,首先,需要验证该账户是否是该客户的账户,同时要保证目标账户和自己账户的余额足够,而且该操作需要进行事务处理,如果转出账户扣除转账金额成功,但是转入账户增加转账金额失败,则意味着该操作失败,将退回转出账户的金额扣除。因转

账功能基于存取款功能且比之更加复杂,故将用户金额的增减功能整合到转账事务中讲解,读者可以模仿转账功能编写存取款功能。在客户登录后的客户信息界面,通过“转账”业务标签进入转账操作页进行转账操作,成功后提示“转账成功”,如图12

-35所示。图12-35转账成功为了验证是否符合预期,通过数据库查询操作进行数据确认,如图12-36所示。图12-36转账验证完成后单击“确定”按钮,查看当前账户信息,其结果如图12-37所示。图12-37

转账后账户信息更新至此,转账功能完成。该网上银行是一个简单的Web项目,其中注册功能和用户操作功能提供了页面和处理类,读者可以根据之前的模板进行编写练习,自动动手操作,完成更多内容的编写。在存取款的页面上只有数据,没有提供前端和后端的处理逻辑,读者可以参考转账业务逻辑进行补充。快速

熟悉项目的途径就是自己动手编写相关功能,这样才能快速深入地理解项目。12.6本章小结本章着重讲解了JDBC和Web项目创建。➢在12.1节,主要讲解了JDBC的使用,通过数据库的链接创建和数据操作等代码,讲解了数据库的使用。➢在12.2节,主要介绍了日志的级别,并在简易网上银

行系统中进行了配置和使用,日志的作用非常巨大,一般项目在运行中出现了问题,因为无法像本地一样进行测试,只能通过日志文件分析和解决问题,不过一般项目中的日志都是根据需求配置好的,读者可以暂且忽略此内容,等有需要的时候再深入地了解和学习。➢

12.3节介绍了JUnit的功能测试,通过案例讲解如何进行JUnit测试,JUnit框架的快捷测试可以帮助开发者快速验证功能点是否实现、是否存在漏洞等,方便了功能点的开发和维护工作。➢12.4节介绍了事务,这是

实际功能点开发中最常见的功能,只要理解了事务的特性,在开发过程中把握好事务的边界,就能很好地对其进行处理,同时Spring也提供了对事务的注解,简化了开发工作;最后使用一个案例完成了对Java基础知识及使用的讲解,Web项目是Java一直以来稳居开发语言前列的保障;➢12.5节通过对Mave

n和Tomcat的简单介绍,整合Spring和Mybatis完成了一个Maven项目的创建,并实现了简单的登录操作和转账操作,大致讲解了一个Web项目的组成和功能的添加,能让读者对Web项目有一个大体的认知并且能够快速熟悉和动手开发Web项目。学习的目的在于应用,也希望读者在阅读完本书之后,能够快

速地熟悉并应用Java相关知识来完成对学习的检验。

小橙橙
小橙橙
文档分享,欢迎浏览!
  • 文档 25747
  • 被下载 7
  • 被收藏 0
相关资源
广告代码123
若发现您的权益受到侵害,请立即联系客服,我们会尽快为您处理。侵权客服QQ:395972555 (支持时间:9:00-21:00) 公众号
Powered by 太赞文库
×
确认删除?