初八大吉,这年呢也算过完了,小猿也得更新帖子,新的一年咱们继续学习,不多说了,马上开始介绍今天的硬货。
今天咱们来讲一下,比较火热的springboot开发,以及该框架的搭建。
首先,什么是springboot?这个是小猿一开始学习就提出的问题,springboot是一种快速开发框架,它可以帮助我们快速整合第三方的框架(maven依赖和继承),内置http服务器(tomcat和jetty),完全采用注解化,简化XML配置,springboot中,没有web.xml,最终是以java应用程序来执行的。
那么,为什么要用springboot呢?因为传统的项目不好用。传统ssh框架,需要考虑的因素比较多,比如配置文件的放置,jar包的引入会冲突等等吧,整合起来工作很多。而springboot呢?它集成了springMVC的web组件,完全注解化,spring3.0以后更是采用了注解的方式来启动springMVC,用java代码来创建一个tomcat服务器。
那么具体我们应该怎么使用这个框架呢?下面我就用intellij idea给大家一步一步创建一个标准的springboot+maven+mybatis框架。
首先打开idea工具,然后file-->new-->project,之后看见这个界面:
选择Spring Initiali 选择你的jdk版本 然后选择next
这里要写一些包名和项目名,这里的packaging一定要选jar
之后是选择注入基础的依赖:
都选好后选择确定,就可以自动生成一个属于自己的项目了。
这里面黄色的target文件夹应该是你运行项目时的class文件,我们在开发的时候,不用理会它。
下面我展示下我的目录结构,圈红的,是必须有的。
这里我们看到,有个文件是pom.xml,这个也就是咱们常说的项目对象模型,简单点说就是个依赖的配置文件,把所有用到的依赖放到这里,本地仓库有的就直接拿来用,没有就从网上的maven仓库下载。而application.yml作为全局的一个配置文件,作用是对于一些默认的配置信息,进行修改。而上面那个类,我想就不用介绍了,不知道是什么的,一定要先学学,有点底子再来看这个文章哦。
给大家看下我的pom文件的截图:
还有application文件,这里没什么说的,我直接说一个坑
在我写好后,运行系统的时候,会报一个警告,还有一个错误。第一个警告是在com.mysql.jdbc.Driver这里有个驱动问题:
要改成我图片上那样加cj的就能解决。
第二个问题在下面系统时间错误:
这错误困扰我很久,不知道哪的问题,参数里也没有时间。后来上网查询,才看出来,要加一个serverTimezone=GMT%2B8,大家在写的时候,就按照我上面的配置写就可以了。
咱们再看看启动类:这里面的坑就是要把扫的包配置好,而且如果配置了@springBootApplication这个,那么它扫的包不是全局,而是同一级和下属子级,第一次报扫不到包的时候,我慌很久,嘿嘿。
之后咱们就可以正常的写业务逻辑,三层,controller层:
service接口层:
实现:
dao层:
这里写完名字,可以直接右键Generate,这点跟eclipse一样。
还有mapping,里面写的一些sql方法和语句。
启动项目:
看到端口号和启动时间,证明咱们的实验已经成功了。
写到这里,一个简单的springboot框架就已经搭建完毕了,接下来我们在mysql数据库里面,先建好表,然后咱们用idea自带的Rest Client进行访问url和传参。
首先是打开Rest Client:
是这样的:
然后我们拼接好地址,再点击左边绿三角,就可以访问和传参了。
执行后的结果:
咱们再调用下的一个方法,可以看到我们获取了数据库里面的数值。
这里面还有一个坑,我在插数据的时候,中文参数,总是变成乱码,找不到问题,我检查了mysql和idea编码,浏览器,总之,能检查的我都检查了,我灵机一动,在movie里面直接set了一个中文,结果存的时候,很正常,这就能判断不是数据库和idea编码问题,我大胆的改掉了idea64.exe.vmoptions的编码,嘿嘿,问题迎刃而解。
总体上说,这个框架里面坑确实不少,我也一直想写好这个分享帖,无奈我是刚爬出来一个坑,又掉另一个坑,还在现在还是搞定了。希望对大伙开发项目和练习框架,有所帮助。同时,我也温习了一遍,感觉比早起更熟悉了呢,哈哈,还是那句老话,喜欢就快关注我吧~~