springboot学习入门总结

Spring Boot 入门学习路线 Spring Boot 是一个用于快速构建基于 Spring 框架的应用程序的开源框架。它简化了 Spring 应用程序的搭建和部署过程,减少了繁琐的配置,并提供了一系列的开箱即用特性。如果你是刚开始学习 Spring Boot,以下是一个详细的学习路线,帮助你快速入门并掌握 Spring Boot 的核心概念和功能。 阅读详情

       学了几天springboot,给我的感觉就是非常好用,这个技术可以说是烂大街的了,但是其作为第一个出现的微服务框架基础也曾风光无限,时至今日大部分java类公司还使用它作为基本的开发框架,因为好用。

      学习springboot只需要简单地了解spring的基础知识,因为你也不可能用它开发。     

Spring Boot的哲学就是约定大于配置。既然很多东西都是一样的,为什么还要去配置。

       1. 通过starter和依赖管理解决依赖问题。
       2. 通过自动配置,解决配置复杂问题。
       3. 通过内嵌web容器,由应用启动tomcat,而不是tomcat启动应用,来解决部署运行问题。

        Spring Cloud是一个基于Spring Boot实现的云应用开发工具;Spring boot专注于快速、方便集成的单个个体,Spring Cloud是关注全局的服务治理框架;spring boot使用了默认大于配置的理念,很多集成方案已经帮你选择好了,能不配置就不配置,Spring Cloud很大的一部分是基于Spring boot来实现。springboot用于单体框架,springcloud用于分布式微服务的开发。

下边是三个学习案例:

一:Thymeleaf模板引擎的使用

     Thymeleaf是一个Java类库,他是一个xml/xhtml/html5的模板引擎,可以作为MVC的Web应用层的View层。

1:引入类库

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>

2:配置模板

#thymeleaf start
spring.thymeleaf.mode=HTML5
spring.thymeleaf.encoding=UTF-8
spring.thymeleaf.servlet.content-type=text/html
#开发时关闭缓存,不然没法看到实时页面
spring.thymeleaf.cache=false
#static 文件夹下的静态文件访问路径
spring.mvc.static-path-pattern=classpath:templates/*hello.html
#thymeleaf end

3:建立view

在resources下的templates下新建hello.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h2 data-th-text="${name}"></h2>
</body>
</html>

当然这个是玩具版本。

注意:在控制器上不能使用respondbody,否则跳转不过去,返回的是 hello。

二:springboot整合mybaties

 

mybatis 是一个优秀的基于 java 的持久层框架,它内部封装了 jdbc,使开发者只需要关注 sql 语句本身,
而不需要花费精力去处理加载驱动、创建连接、创建 statement 等繁杂的过程。
mybatis 通过 xml 或注解的方式将要执行的各种 statement 配置起来,并通过 java 对象和 statement 中
sql 的动态参数进行映射生成最终执行的 sql 语句,最后由 mybatis 框架执行 sql 并将结果映射为 java 对象并
返回。
采用 ORM 思想解决了实体和数据库映射的问题,对 jdbc 进行了封装,屏蔽了 jdbc api 底层访问细节,使我
们不用与 jdbc api 打交道,就可以完成对数据库的持久化操作。

这里操作使用mysql数据库!

1:定义起步依赖

<!-- MySQL连接驱动 -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        <!--mybatis起步依赖-->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.1.1</version>
        </dependency>
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
            <version>1.3.2</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/com.baomidou/mybatis-plus -->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus</artifactId>
            <version>2.1.9</version>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-autoconfigure</artifactId>
            <version>1.3.2</version>
        </dependency>

2:添加数据库的连接信息

spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&useSSL=false
spring.datasource.username=root
spring.datasource.password=1234

3:创建user表

-- ----------------------------
-- Table structure for `user`
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(50) DEFAULT NULL,
`password` varchar(50) DEFAULT NULL,
`name` varchar(50) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of user
-- ----------------------------
INSERT INTO `user` VALUES ('1', 'zhangsan', '123', '张三');
INSERT INTO `user` VALUES ('2', 'lisi', '123', '李四')

4:创建实体bean

package com;

import java.io.Serializable;

public class User {
    // 主键
    private Long id;
    // 用户名
    private String username;
    // 密码
    private String password;
    // 姓名
    private String name;

    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public Long getId() {
        return  id;
    }
    public void setId(Long id) {
        this.id = id;
    }
    public String getPassword(){
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    public void setName(String name) {
        this.name = name;
    }
    public  String getName() {
        return  name;
    }
}

5:编写持久层接口mapper

package com;

import org.apache.ibatis.annotations.Mapper;

import java.util.List;

@Mapper
public interface UserMapper {
    public List<User> queryUserList();
}

6:编写mapper的映射文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.UserMapper">
<select id="queryUserList" resultType="com.User">
    select * from user
</select>
</mapper>

 

7:添加配置文件

#spring集成Mybatis环境
#pojo别名扫描包
mybatis.type-aliases-package=com.mapper
#加载Mybatis映射文件
mybatis.mapper-locations=classpath:mapper/*Mapper.xml
#mybatis.config-location=classpath:mybatis-config.xml

结果展示

三:spring整合jpa

1:添加起步依赖

 <!-- springBoot JPA的起步依赖 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>

2:配置

#JPA Configuration:
spring.jpa.database=MySQL
spring.jpa.show-sql=true
spring.jpa.generate-ddl=true
spring.jpa.hibernate.ddl-auto=create
spring.jpa.hibernate.naming_strategy=org.hibernate.cfg.ImprovedNamingStrategy

3:创建实体

package com;

import org.springframework.data.jpa.repository.JpaRepository;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import java.util.List;

//定义映射实体类
@Entity
public class Ppersion {
    // 主键
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    // 用户名
    private String username;
    // 密码
    private String password;
    // 姓名
    private String name;
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getPassword(){
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    public void setName(String name) {
        this.name = name;
    }
    public  String getName() {
        return  name;
    }

}


4:定义数据访问接口

package com;

import org.springframework.data.jpa.repository.JpaRepository;

import java.util.List;

//定义数据访问接口
public interface  PersionRepository extends JpaRepository<Ppersion, Long> {
    public List<Ppersion> findAll();
}

看下我docker容器里边的数据库!

 

总的控制器贴出来

package com;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;
import java.util.List;

//@RestController
@Controller
@RequestMapping(value = "/hello")
public class RunController {

    @Autowired
    private UserMapper MyuserMapper;

    @Value("${person.name}")
    private String name;
    @Value("${person.age}")
    private Integer age;
    @RequestMapping(value = "/quick")
    public String say(Model mymodel) {
        //int no = 1/0;
       // throw new MyException("100", "用户密码错误!") ;
        //return "hello world!" + "name =" + name + ",age =" + age ;
        mymodel.addAttribute("name", "Dear");
        return "hello";
    }
    @Autowired
    private PersionRepository  MMPERSION;
    //测试获取全部的数据
    @GetMapping(path="/all")
    @ResponseBody
    public Iterable<Ppersion> getAllUsers() {
        return MMPERSION.findAll();
    }
    @RequestMapping("/queryUser")
    @ResponseBody
    public List<User> queryUser(){
        List<User> users = MyuserMapper.queryUserList();
        return users;
    }
}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

 

 

 

SpringBoot学习路线:SpringBoot从入门到精通 SpringBoot学习路线:SpringBoot从入门到精通 SpringBoot从入门到精通系列一:SpringBoot入门 SpringBoot从入门到精通系列二:应用配置与自动配置 SpringBoot从入门到精通系列三:WebSocket SpringBoot从入门到精通系列四:RESTful服务支持 SpringBoot从入门到精通系列五:访问SQL数据库Mybatis和MyBatis-plus SpringBoot从入门到精通系列六:消息组件RabbitMQ SpringBoot从入门到精通 阅读详情

相关推荐

SpringBoot学习总结

主要为SpringBoot框架内容,包含SpringBoot环境搭建、常用注解、与Mybatis整合创建多数据源的连接+Druid连接池配置、SpringBoot的热部署、SpringBoot整合Freemarker/Servlet组件/文件上传与下载、SpringBoot自定义拦截器以及将拦截器注册到容器中、SpringBoot静态资源加载总结以及统一异常处理方式、SpringBoot自动装配原理。demo可直接运行

单体框架、垂直框架、分布式框架、微服务框架简述 和区别

单体框架、垂直框架、分布式框架、微服务框架简述 和区别

GSl0408的博客 2172

信号系统核心概念:卷积、傅里叶变换与抽样定理的工程实践指南

信号与系统是理解现代电子、通信与数字处理技术的基石。其核心在于通过数学工具对物理世界进行建模与分析,其中卷积运算揭示了线性时不变系统对任意输入的响应可分解为冲激响应的叠加,这一原理极大提升了系统测试与分析的效率。而傅里叶变换则提供了从时域到频域的映射,将复杂的时域卷积运算转化为频域的简单乘法,是实现频谱分析、滤波设计的关键。抽样定理则架起了模拟与数字世界的桥梁,明确了无失真数字化的条件。这些基础理论共同构成了滤波器设计、音频处理、图像分析及通信系统等广泛工程应用的技术支柱。本文聚焦于卷积与傅里叶变换,结合冲

weixin_30788619的博客 629

SpringBoot简单学习总结

文章目录SpringBoot简单学习总结前言SpringBoot构建方式(以SpringMVC为例)SpringBoot优点(以SpringMVC为例) SpringBoot简单学习总结 前言     简单学习了SpringBoot,真的及其简化了spring的开发,省去了很多麻烦,感谢黑马程序员的课程,看的是黑马程序员SpringBoot2全套视频教程,讲的很好,在此总结一下,以便以后复习 SpringBoot构建方式(以SpringMVC为例) idea使用官网(https://start.sprin

weixin_45488056的博客 4645

【慧创近红外脑功能成像(fNIRS)】经皮耳迷走神经电刺激联用应用集锦

在这项双盲、随机、对照的试验中,将40例亚急性脑卒中患者随机分为两组:VNS组(VG)在TOT期间接受taVNS治疗,假手术组(SG)在TOT期间接受假taVNS治疗。此外,fNIRS显示,与SG相比,VG的对侧前额叶皮层和同侧感觉运动皮层的激活增加。然而,HRV组间无显著差异。结合taVNS技术,不仅能够探索taVNS对大脑功能产生的具体影响,还能通过精细调整刺激参数,进一步优化治疗效果,使之更加精准高效。这种治疗模式的创新,有望显著提升患者的治疗效果,改善其生活质量,为神经系统疾病的康复开辟新途径。

m0_75194604的博客 1140

【计算摄影】相机成像原理:从光到JPEG图像

本文我们将从最基本的相机成像原理开始论述,再讨论光线进入相机后,经过一系列处理成为JPEG图像的大致流程。

qq_35149975的博客 2万+

SpringBoot学习心得(一)helloworld

言归正传,什么是SpringBoot呢,就是一个javaweb的开发框架,和SpringMVC类似,对比其他javaweb框架的好处,官方说是简化开发,约定大于配置, you can “just run”,能迅速的开发web应用,几行代码开发一个http接口。 ...

weixin_49331914的博客 1208

Linux下搭建J-Link调试环境:OpenOCD+GDB实战指南

嵌入式开发中,调试器是连接开发主机与目标硬件的关键桥梁,其核心原理是通过标准协议(如JTAG/SWD)访问芯片内部的调试模块。GDB作为通用的调试客户端,通过远程协议与调试服务器通信,而OpenOCD则扮演了协议转换与硬件驱动的角色,实现了调试命令的翻译与执行。这种开源工具链的组合,为开发者提供了高度的定制化与自动化能力,尤其适合需要与持续集成流程深度结合的复杂项目。在实际应用中,针对特定芯片(如ARM7TDMI)进行正确的内存控制器与时钟初始化是成功调试的前提,这常常涉及对板级支持包的深入理解。本文以S3

weixin_29889665的博客 333

Java进阶:SpringBoot

SpringBoot

KaiSarH 973

别再为Word转PDF表格变形发愁了!Aspose.Words for Java 19.5 保姆级避坑指南

本文详细介绍了使用Aspose.Words for Java 19.5解决Word转PDF时表格变形问题的完整方案。从格式转换原理到实战技巧,涵盖固定表格宽度、禁用自动调整、强制文本换行等核心方法,并提供高级场景应对策略和性能优化建议,帮助开发者高效处理复杂文档转换需求。

weixin_28702105的博客 266

微信小程序 - 最新详细实现用户保存下载视频到手机相册,将视频临时路径、在线播放地址(网络路径)URL存储到手机,弹出访问手机相册权限询问,支持视频格式mp4、avi、mov、wmv、flv、webm

微信小程序,视频,手机相册,保存,另存为,小程序保存到相册权限,writePhotosAlbum,一键保存视频到手机相册功能(视频来源为链接),第一次要获取用户授权,授权使用相册权限,小程序视频下载,如何把视频下载到相册,下载一个视频到本地相册,显示下载进度,可取消下载,视频下载到本地,微信小程序视频如何下载,保存视频到相机,页面播放视频并下载到本地,安卓系统,苹果ios保存到相册报错,权限拒绝后打不开,添加相册授权弹框拒绝后再也出不来了,实现保存视频到手机相册功能,将mp4在线视频下载并存储到用户的手机中

🏆 前端领域优质创作者 7626

SpringBoot入门学习资料

SpringBoot入门学习资料 去发现同类优质开源项目:https://gitcode.com/ 这里提供了一个关于Spring Boot的入门学习资源——《SpringBoot入门.pdf》。该文档内容全面,由浅入深,旨在帮助初学者快速掌握Spring Boot的基础知识及其应用。 文档内容概述 本资源包含以下章节: 一、SpringBoot入门 二、Springboot 配置 三、Sprin...

gitblog_06793的博客 474

基于Dify实现对Excel的数据分析

在dify部署完成后,大家就可以基于此进行各种应用场景建设,目前dify支持聊天助手(包括对话工作流)、工作流、agent等模式的场景建设,我们在日常工作中经常会遇到各种各样的数据清洗、格式转换处理、数据统计成图等数据分析工作,本次主要基于对话工作流模式对Excel文件、csv文件进行解析处理,并进行成图等数据分析工作。主要用到的插件有LLM节点,文档提取器、参数提取器、自定义代码节点、echart插件等。实现解析Excel数据,经过上述不同节点的处理分析流程,最终实现数据统计图展示。

hhue2007的专栏 1万+

Spring Boot 学习方法论-如何正确的入门 Spring Boot

Spring Boot 学习方法论-如何正确的入门 Spring Boot1 怎样才算是通用的零基础 Spring Boot 教程2 Spring Boot 学习人群与学习方法2.1 谁需要学习 Spring Boot2.2 学习路径2.3 学习方法3 Spring Boot 零基础入门的知识点 想要入门 Spring Boot,那么什么样的教程是符合初学者学习的(没有太多的Java基础但有一些程...

fishpro的博客 344

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

SpringBoot入门学习

SpringBoot入门学习1. SpringBoot概述1.1 为什么要学习SpringBoot1.2 SpringBoot的特点2. SpringBoot快速入门2.1 创建Maven工程2.2 配置pom.xml文件2.3 编写HelloController测试3. 优化快速入门(2的延续)3.1TestApplicationRun(引导类)4. 基于Java配置4.1 配置XML引入依赖4.2 添加jdbc.properties4.3 配置数据源4.4 测试5.SpringBoot

qq_41995106的博客 1025

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

SpringBoot的学习路线和入门

SpringBoot的学习路线和入门spring的学习路线SpringBoot入门搭建 spring的学习路线 SpringBoot入门搭建

weixin_43347737的博客 1460

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

SpringBoot-学习笔记02【SpringBoot入门】

SpringBoot-学习笔记02【SpringBoot入门】

upward 745

SpringBoot2学习总结一:SpringBoot2入门

本文章总结自尚硅谷SpringBoot2,视频链接:尚硅谷雷神SpringBoot2零基础入门springboot全套完整版(spring boot2) 在学习SpringBoot之前,我们需要了解什么是SpringBoot? 1. SpringBoot是什么? Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发

Baridhu的博客 2495

SpringBoot学习历程(一):简单入门

啊

RabbitInTheGrass的博客 374

SpringBoot-入门学习

使用 SpringBoot 获取 Mysql 数据

m0_75261940的博客 661

springboot学习视频是可以帮助我们快速入门的

如果大家还没有找到适合自己的视频资源,那么可以看看动力节点的这套适合新手入门SpringBoot视频教程学习,对于新手来说,学习springboot可能需要从基础概念、开发环境的搭建、项目结构的理解等方面入手。动力节点的视频教程通常会从最基础的知识开始讲解,并逐步深入,帮助学习者逐步建立起对Spring Boot的全面认识和应用能力。不过,学习仍然需要您的主动参与和实践,建议您在观看视频的同时,结合实际项目进行练习,加深对所学知识的理解和应用能力的培养。

2301_76637696的博客 177

SpringBoot课件PPT:入门学习的不二之选

SpringBoot课件PPT:入门学习的不二之选 【下载地址】SpringBoot课件PPT简介 这份SpringBoot课件PPT专为初学者设计,内容新颖且易于上手,帮助您快速掌握SpringBoot的核心概念与实用技巧。课件从基础知识出发,循序渐进地讲解SpringBoot的各项特性,适合零基础学员学习。建议按照章...

gitblog_06745的博客 671

spring boot入门学习

今天正式开始学习 spring boot                                        2018-07-06入门参考地址:https://www.cnblogs.com/moonlightL/p/7891803.html点击打开链接

m0_37846887的博客 143
上一篇: java=集合方法
下一篇: Statement详细用法及解释----java
runner668
博客等级 码龄11年 161粉丝 137原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值