[开发篇]10分钟快速上手spring boot
本次更新springboot入门篇,之后看情况是否有实战篇。话说本周还差两道算法题没做~~~
那么一起踏入学习的海洋中!!!
一、 Spring boot的介绍
Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其着作《Expert One-On-
One J2EE Development and
Design》。Spring是为了解决企业级应用开发的复杂性而创建的,使用Spring可以让简单的JavaBean实现之前只有EJB才能完成的事情。但是Spring不仅仅局限于服务器端开发,任何Java应用都能在简单性、可测试性和松耦合性等方面从Spring中获益。
为了降低Java开发的复杂性,Spring采用了以下4种关键策略:
-
1.基于POJO的轻量级和最小侵入性编程;
-
2.通过依赖注入(DI)和面向接口实现松耦合;
-
3.基于切面(AOP)和惯例进行声明式编程;
-
4.通过切面和模版减少样式代码;
总的来说,spring boot的两个关键点IOC
和AOP
.
二、 快速建立一个spring boot应用
那么,下面将用idea工具来快速建立spring boot应用。
1.建立一个hello world的程序
打开IDEA工具,选择file->new project,来到下图界面,按照流程操作即可。
在项目中新建一个controller的包,并新建一个HelloController类
运行项目,在游览器输入localhost:8080/hello,出现下图界面即可完成。
2.项目配置显示点不一样的
下面,将操作如何配置文件中的变量在类中如何使用。
(1)修改application.yml配置文件
(2)创建配置类
(3)controller中引用
3.配置数据库
接下来,我们要快速进行一次学生的增删改查操作,需要用到数据库,这里用mysql以及spring boot的jpa来完成。
(1)修改pom.xml
在pom.xml中引入spring-jpa以及mysql的依赖包。
<!--配置数据库有关-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
之后选择pom.xml右键选择maven->reimport即可。
(2)修改配置文件application.yml
新建student数据库
在application.yml中配置数据连接用户以及密码,和spring jpa相关的配置
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/student?serverTimezone=UTC&useSSL=false
username: root
password: 123
jpa:
hibernate:
ddl-auto: update
show-sql: true
之后运行spring boot
运行,正常开启即配置正常
(3)数据库表的生成
新建student的entity类
重新运行即可在数据库中自动生成如下表
那么,接下来来到最重点的了,RESTFul AIP的设计。
4.RESTful API
一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。
(1)设计RESTful API
请求类型 | 请求路径 | 功能 |
---|---|---|
POST | /student | 创建一个学生 |
GET | /student | 获取学生列表 |
GET | /student/id | 通过id查询学生 |
PUT | /student/id | 通过id更新学生 |
GET | /student_special | 同时创建两个学生 |
(2)编写接口
(3)编写学生服务
a.创建学生
b.查询全部学生
c.通过id查询学生
d.通过number更新学生
(4)编写学生的创建的controller
a.创建学生
b.查询学生
c.通过id查询学生
d.通过id来更新
(5)postman发送请求
那么,下面我们用postman这个软件来模拟请求。
a.添加学生
b.查询学生
c.通过id查询学生
d.通过id更新学生
5.超级插班生体验事务
这里我们还想体验一下spring boot的事务管理,那么下面有请我们的超级插班生,小内和小幕。
小内和小幕是双胞胎,被安排要求一起进入学校。
但有个教务处老师手抖了,一不小心就把小幕的入学奖学金设置了好多00000000000000000000000.
最终导致小内入学了,但是小幕没入学,一个没进,另外一个进了
但这样可不行
于是重新在其上加入@Transactional事务注解,即可。
OK,完成了!!!
待会见,下面更新一个spring boot+react的前后端分离的简单demo!!!!