原由
使用springBoot开发已经有两个项目了, 但是都是别人搭建的框架,自己参与开发。想着自己搭建一个,熟悉一下过程,也是个学习的过程。顺便将搭好的框架留着,以后可拿来即用的。
开始
开发工具:IDEA;JDK 1.8(最低要求是1.8);MySQL5.0;springBoot2.0+
File ===> New ===> Project ,弹出如下窗口:
选择 Spring Initializr 来快速搭建,点击 Next,出现如下窗口:
在这个窗口,填写Group、Artifact;选择自己的java版本(建议使用JDK1.8),Packaging选择Jar,因为官方推荐最终项目打包成Jar发布;填写完成后,点击Next会弹出入上图的错误提示,这是因为Artifact里面有大写字母。修改为小写的后,点击Next进入如下页面:
在这里有很多选项,就是项目中用到的一些Jar包,在这里选择后,项目自动下载这些Jar包并依赖。
在Core选择项中,我们要勾选Lombok,这个是在实体类类中不需要写Set/Get方法,让代码看起来舒服、清爽。
在Web选项中,勾选web;在Template Engines中,勾选Thymeleaf,这个是在页面中会用到的一中模板,类似以往使用的C标签(c:if等);在Sql中,勾选MyBatis。最终如下图:
一直Next,最后finish,选择New Window。至此,项目【框架】搭建完成,
如果网速慢,会发现下面的进度条,这表明正在下载项目的依赖Jar。左侧,在main包的最里面,有个SpringbootApplication.java,这是工具自动创建的,这个类也是整个项目的入口。也就是说,run这个方法,相当于启动tomcat。
数据库配置:
在创建项目的时候,漏了数据库驱动包的添加(在SQL项中),这里可以自己手动添加MySQL驱动,在pom.xml中添加如下依赖:
application.properties配置文件是核心文件,与项目相关的配置都在这里面填写,当前只添加数据库配置:
其实在写配置的时候,编译器会自动提示一些信息,还有解释,虽然是英文的,但都很简单,差不多都能懂的。
启动项目:
项目启动成功,但是这里有一行红色的提示,很扎心。见红就不好了。这是因为用的MySQL驱动版本过高了,6.X的驱动支持MySQL6了,这个版本涉及到一个时间设定属性serverTimezone,它能够让数据库发现以什么地方的时间为基准,具体的百度。这里的MySQL是5.0的,把pom.xml里的驱动Jar版本降低到5.X即可。重新启动,完美。在springBoot中,已经有了默认的连接池配置,也不需要开发人员配置了,2.0后的连接池是HikariCP,没听过,但百度了下发现很厉害。
然后开始具体的配置:
首先创建一系列的包和类,还有一个html,放在templates下,static是放置静态资源的。
在application.properties中添加thymeleaf配置:设置html存放在templates中,并且匹配页面都是以.html结尾;设置thymeleaf模板缓存为false。
在pom.xml中添加访问mapp*.xml资源。这里有个注意:如果在application.properties中配置myBatis:
mybatis.mapper-locations=classpath:mapper/*.xml
mybatis.type-aliases-package=com.zl.springboot.entity
这个时候,xml文件要放到resources下面,不然系统是找不到xml的,然后运行时报错。
还有个重点:在项目入口的方法上要加@MapperScan("com.zl.springboot.mapper"),不然也会报错不能运行。
我这就放pom里了。
html中就简单的输出后台给的nama的值。在标签html中,添加thymeleaf引用。
启动项目,在浏览器中输入localhost:8989/hello。8989是端口号,【/hello】是请求地址。没有项目名称。项目名称是要在application.properties中设置:
server.servlet.context-path=/myspring
myspring就是项目名--》》localhost:8989/myspring/hello。注意:开头必须要有【/】,标准配置是以斜杠开头并以斜杠结尾。
在这里调试页面的时候发现个问题:在html中修改后,浏览器刷新没有起作用,这是因为没有设置项目热部署。具体步骤:
第一步:在pom中添加依赖:
<dependency><!--支持热部署-->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
第二步:设置编译器:
1、File--->Setting
2、同时按Shirt、Ctrl、Alt、/ 四个键:
选择:Registry,选中即可。