SpringBoot入门基础学习(一)

目录

一、HelloWord

二、自定义属性配置

三、Controller的使用

四、Spring-date-jpa

五、事务管理

一、HelloWord

1、准备工具:IDEA、MAVEN;

下载idea链接:https://www.jetbrains.com/idea/download/#section=windows(一定要下载旗舰版,只有旗舰版才有直接生成SpringBoot应用的功能)

2、创建项目:

(1)打开软件--->新建一个项目


(2)选择Spring Initializr--->Next下一步


(3)填写项目名


(4)选择springBoot的版本和组件,在这我们只选择Web相关组件


(5)选择项目名称及保存路径


(6)项目结构,可删除一些无用的包,如:.mvn、mvnw、mvnw.cmd


(7)启动项目方式:ComApplication--->右键启动


3、编写程序:

(1)新建一个controller包,创建一个HelloController类


(2)访问:http://localhost:8080/hello



二、自定义属性配置

1、配置默认端口和访问前缀:在application.properties中配置

server.port=8081
server.servlet.context-path=/springBootLearn

启动项目,访问:http://localhost:8081/springBootLearn/hello

2、使用.yml文件格式,配置文件(更加简洁方便:同一前缀不用重复写,注意:冒号后边必须有一个空格)


访问页面:http://localhost:8082/springBootLearn/hello


3、配置全局配置参数变量

(1)在.yml文件中定义


(2)在底层获取,使用@Value注解获取


(3)页面打印显示


(4)将配置参数注入到类中

在配置文件中配置属性


在类中定义同样的属性,只用    @Component 、@ConfigurationProperties(prefix = "student")注解


使用:


打印显示:


4、开发环境与生产环境的不同配置

(1)新建两个配置文件,分别为application-dev.yml、application-prod.yml。三个配置文件配置如下:

application.yml:

spring:profiles:active: dev:表示使用dev开发环境


application-dev.yml


application-prod.yml


访问页面:http://localhost:8081/springBootLearn/hello


三、Controller的使用

1、相关注解

@Controller 处理http请求

@RestController 等同@ResponseBody、@Controller两个注解的组合,用于数据返回json格式

@RequestMapping 配置url映射

(1)@Controller 。使用@Controller 需要在pom.xml添加一个模板。


(2)创建一个html页面


(3)底层代码


(4)访问页面:http://localhost:8081/springBootLearn/hello


2、@RestController 

(1)代码


(2)访问页面:http://localhost:8081/springBootLearn/hello


3、用户访问http://localhost:8081/springBootLearn/hello或http://localhost:8081/springBootLearn/hi两个中的任意一个链接都使用底层同一个方法

(1)底层,在@RequestMapping中使用一个集合


(2)页面访问



4、处理url中的参数

@PathVariable 获取url中的数据

@RequestParam 获取请求参数的值

@GetMapping 组合注解

(1)@PathVariable 举例

底层代码:


页面:


(2)@RequestParam 举例

底层代码


页面:


@RequestParam设置默认值,required = false表示可以为空, defaultValue = "0"表示默认值为0

底层


页面


(3)@GetMapping ,将

@RequestMapping(value = "/hello", method = RequestMethod.GET)简化成@GetMapping(value = "/hello" )
@RequestMapping(value = "/hello", method = RequestMethod.POST)简化成@PostMapping(value = "/hello" )
底层代码

页面访问


四、Spring-date-jpa

1、链接数据库

(1)Spring-Date-Jpa:是定义了一系列对象持久化的标准,目前实现这一规范的产品有Hibernate、TopLink等。

(2)配置pom.xml


(3)配置数据库链接


(4)先创建数据库dbstudent


(5)程序自动建表:新建一个类,需要使用@Entity注解


(6)启动项目,则会生成一张student表,里边的字段与我们类中定义的一致


2、数据库操作

(1)查询学生列表

在数据库中准备几条数据


创建一个接口,JpaRepository中填写类名和id的类型


创建一个Controller


在PostMan中测试


(2)新增一个学生,可以直接传一个对象,但是注意参数命名和类中的属性保持一致


Postman中测试


查看数据库


(3)根据id查询一个学生信息,原本可以直接用findone(Id)查询,自从spring boot 2.0以后,由于用上了Java 8 的Option,废除了findone(Id)。


Postman中测试


(3)更新一个学生信息,save方法,当添加的类数据中的id在数据库中没有就会新增一条数据;当id在数据库中有,则会做修改操作。


查看数据库


Postman中测试


查看数据库


(4)根据ID删除一个学生


查看数据库


Postmen测试


查看数据库


(5)扩展:根据年龄查询学生。

在接口中定义方法,方法名findByAge不能随意写,必须遵循格式


调用


查看数据库


Postman测试


五、事务管理

我们在日常开发中经常会遇到这样的问题,一个方法同时新增两条数据,若第一条插入成功,在插入第二条的时候报错失败了,那么第一条也不能插入到数据库中,要么都新增成功,要么都新增不成功。

1、新增一个service


2、在controller调用


3、为了更好的演示,我们修改一下数据库,将name属性只允许插入长度为2



4、在没设置事务的情况下,第一条数据中可以新增成功,第二条数据添加失败,我们用Postmen测试

数据库



数据库


4、解决方法:在接口中添加注解@Transactional



本次分享结束,不足之处请大家提出宝贵意见,有问题可留言讨论,谢谢观看。

  • 15
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值