Spring Boot 学习心得

Spring Boot 开发项目基本步骤,提醒大家,一定要有耐心去看Spring 官网的技术文档,每次阅读技术文档都会有不同的感受和收获。

Spring Boot 学习地址:https://spring.io/projects/spring-boot

在Spring 官网上可以下载一些小的Demo,在开发工具中做简单的配置就可以跑起来了,但是到底是如何实现的呢,对于新手来说,还是需要仔细研究一下源码的。

开发工具:IDEA

数据库:MySQL

JDK: 1.8

项目名称:demo

Maven:3.39

1,MySQL 数据库准备,要求本地 localhost 能访问到数据库表,对表的操作这里就不多说了,自行百度。

2,IDEA 开发工具准备,自行下载安装。

3,JDK 安装。

4,Maven 安装。

下面使用Spring Boot 开发一个Maven 项目。

 

 IDEA ->File>New->Project->Spring Assistant->Next->(自定义项目的信息)->Next->(选择:Spring Boot DevTools, Lombok, Spring Configuration Processor, Spriing Web, Spring Data JPA, MySQL Driver)Finish.

 

配置数据库连接池信息:将src->main->resources->application.proporties 改成 application.yml 后缀名。内容为:

spring:
datasource:
url: "jdbc:mysql://${MYSQL_HOST:localhost}:3306/db_example?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull&useSSL=false"
username: "root"
password: "123456"
jpa:
open-in-view: false
format-sql: true

 新建MainController.java,User.java,UserRepository.java,UserService.java,UserVo.java 

UserRepository 接口继承了JpaRepository.JpaSpecificationExecutor 接口,实现分页查询,和封装查询条件,通过Spring-data-jpa 实现数据库操作。

 

 User.java 实体类,通过@Entity 注解,Hibernate 将实体类与数据库表实现映射,@Table 注解指定实体类对应的表,如何不指定,默认以类名与数据库表匹配。

 

 

 

 UserService.java 做业务逻辑处理,将从接口查询的数据做处理,注意:PageResult 是我自己定义的数据封装类,也可以用List<UserVo>返回。

 

 最后是MainController.java,做http 请求响应的类,

 

 启动DemoApplication.java 类,在浏览器输入:localhost:8080/demo/all 回车,就能看到 t_user 表中的数据。

 

 

以上是一个快速简单的Spring boot 的一个demo,下面是学习Spring boot 实现原理的记录:

第一、pom.xml文件解说

首先我们看到项目的根目录下的pom.xml文件,

 

 pom.xml文件必须要加上这个 parent节点, spring-boot-parent是干什么的呢,我们点进去发现它什么也没做,而是向上继承了dependencies,

 

 我们再点击dependencies, 进去看到了很多信息,添加了很多Spring boot 开发中需要用的maven仓库的jar包及版本信息,包括一些插件的信息和版本号。回到项目的pom.xml文件中,

 

 看到我们这里的dependency 的内容,都是省略了版本号的,因为在parent 下的dependencies 中已经做了版本的管理,因而我们在这里就缩减了一些代码。这是Spring boot 的特性之一,我们也可以不通过依赖parent 和dependencies, 那我们就得一一指定jar包和版本号了,比较麻烦,我目前没有试过,感兴趣可以尝试一下。

第二、SpringApplication解说

我们看到项目的src/main/java包下的SpringBootAppliction.java 入口文件,也就是有main方法的文件。这个文件必须放在整个项目的最根目录,Spring 在扫描注解的时候扫描这个文件所在包下的所有class,如果其他类放在了高于这个类或其他目录下就会扫描不到。

 

posted @ 2019-10-10 18:02  anunicode  阅读(2317)  评论(0编辑  收藏  举报