图书管理系统 java_你是如何学习 Java 的?

1.图书管理系统得有页面吧,页面我该怎么开发呢?于是你百度:前端入门,然后你就知道了,原来我使用 html js css就可以写一个页面出来了。

2. 假设你坚持到了这一步,你发现用js写这些东西好麻烦啊,特别冗长,关键是原生的JavaScript还有各种浏览器兼容性的问题,你写出来的东西在chrome上能用,在ie上就展示的不正常了。于是乎你又百度:js框架。浏览器告诉你js的框架有很多:JQuery,React,Vue。3. 假设挑选了Jquery来做你的项目,你会发现,额 是比之前爽多了,毕竟框架会集成好很多方便的功能,你觉得你的效率在提高。4. 现在你坚持到了第四步,但是你又发现了新的问题,虽然相比之前JQuery操作起来是简单了许多,不过还是要我主动操作dom对象,有没有办法:我只关心我当前页面所用的数据是啥玩意就行了,改了数据之后,跟数据绑定的页面元素能够自动改变呢?这样我不就不用自己操作dom了吗?哦,对了,我之前搜索js框架的时候还有Vue和React,这都是啥玩意,于是乎,你百度:Vue入门。5. 好了,你开始使用Vue来写你的前端页面了,相比之前效率又高了很多,使用Vue的过程中,你可能接触到越来越多的概念,前端的模块啊,打包啊等等。你也许觉得写前端真他妈好玩,于是乎你关闭了这篇文章,去搜索:前端学习路线图。。。。6. 终于到后端了:现在你已经会写页面了,可是管理系统的数据我怎么展示在页面上呢,总不能写死在页面上吧。要是能有个地方存这个图书管理系统的数据,并且我的页面可以从那个地方拿就好了。7. 存图书数据的地方肯定就是叫数据库啦,于是你百度:数据库入门,书上告诉你数据库有好多种:sql server、mysql、oracle、db2 .....  但是无论是哪一种都要先学习一下SQL,不管了,程序员就是爱学习,学呗8. 你现在学会了sql了,你按照网上的说明安装了mysql数据库,知道了怎么用sql操作数据库里面的数据,真是个天才。但是没用啊,我给别人用的是系统哎,我不能跟他说,你过来,我给你用sql展示一下数据库里面有哪些数据吧。9. 既然是个图书的管理系统,图书的增删改查肯定都得放在后端来做吧,毕竟前端只是做页面样子和交互,后端才是处理数据的,对图书的增删改查就是对数据库的增删改查呗。哦,我记得之前java书上看到JDBC可以操作数据库,把这块知识点捡起来,试着写一段程序操作一下吧。10. 好厉害,你竟然已经学会了java操作数据库,现在哪怕不打开数据库,不借助数据库的各种客户端你也能通过你的java代码查到库里面的内容了。但是还有个问题,我前端页面怎么跟后端打交道呢?换句话说,我前端页面写的花里胡哨的,可是该怎么告诉后端程序:你给我展示一下数据库里面有哪些书?数据库里面有没有一个叫java从入门到放弃的书?于是你百度:js前后端交互。11. 你发现了Ajax,js中的这种技术可以请求后端的接口,拿到数据。然后用数据做相应的展示、交互之类的。并且你也知道了json,他几乎成了前后端交互事实上的数据标准。于是乎,你通过简单的百度之后,知道了该怎么向后端发起请求(当然了 也许在前5步的时候,你已经知道了怎么向后端发送请求,并且你有各种不同的姿势来发,什么原生的js啊,vue啊,react啊,jquery啊。各种姿势都不在话下)12. 页面写好了,也知道在页面上怎么向后端发送指令了,现在就差后端接口了。我刚刚写的java操作数据库,花里胡哨的,但是没用啊,我要先接收到前端发给我的指令,我再开始查询,或是各种管理吧。13. 好吧,那我的java怎么能接收前端发给我的指令呢?你百度:java http接口。于是你知道了 servlet ,tomcat。原来我只要写一个servlet,接着将其放到tomcat中执行,就能对外提供一个接口了呀。14. 天哪,我的servlet成功接收到了前端请求,根据前端的各种命令,后端开始尽职尽责的执行各种java指令,返回json数据给前端。15. 首先那个jdbc操作的是在是太麻烦了吧,open connection 各种try catch 。上面不是有个mybatis说是可以简化jdbc操作吗,怎么玩的?百度一下:mybatis入门嗯。16. mybatis确实太香了。优雅的orm映射、灵活的sql编写。都让你觉得使用原生jdbc操作起来真是太费劲了。17. 不对,我觉得用servlet也有点麻烦,每次建立一个servelt之后,还要在web.xml配置,而且写起来也不优雅,json数据都是各种拼装起来的,真麻烦。18. 是时候学习一下spring了,大家都说spring是java程序员必学的,他到底好在哪呢,我的程序能不能用一下spring?让我百度一下spring入门。果然spring确实方便,有了spring,我再也不用new对象了,我想要的,她都懂我,给我提前准备好了之后,我直接拿就行了。并且啊,她还会贴心的把依赖关系给我搞好。没错,这就是Spring核心的容器和DI功能。19. 你发现,spring家族竟然还有个东西:spring mvc,他是一个MVC框架,大家都在用,你也尝试了一下。十分钟后你觉得:我再也不会用servlet去写了,用springMVC写效率提升十倍不止。20. 爱好学习的你在项目中用了spring,springMVC,mybatis。额,这tm的不就是SSM三大框架吗。21. 拆分吧。拆成微服务。用户一个服务,图书的管理一个服务,拍卖一个服务,短信一个服务。每个服务由不同的人来负责,大家都对自己的业务比较熟悉,项目小而精致。但是拆分会面临以下很多问题:怎么拆分,如何划分颗粒度拆分后怎么协作下游服务频繁的失败怎么办怎么保证高可用怎么保证数据的一致性系统间怎么监控?(调用链路、日志、报警机制、).... 编辑整理丨罗西亚

27d0c5db81212514e1c2553bb69d1f30.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值