Spring Boot的学习笔记

xiaoxiao2025-10-17  14

最近我花了比较多的时间学习Spring Boot,也自己动手实现了一个Spring Boot的小项目,写下一点自己的学习体会和感悟。

Spring Boot 框架的基本介绍

Spring Boot是Spring公司设计的一个框架, 其设计目的是用来简化新Spring应用的初始搭建以及开发过程。 此框架的特点有以下几点:

创建独立的Spring应用程序嵌入的Tomcat,无需部署WAR文件简化Maven配置自动配置Spring提供生产就绪型功能,如指标,健康检查和外部配置绝对没有代码生成并且对XML也没有配置要求

Spring Boot框架的特点

通过自己上手的实际操作,我发现Spring Boot这个框架确实很好用,之前我曾经学过SSM框架,和HAP框架,Spring Boot比以前学的框架都要方便使用。

1.Spring Boot不需要配置tomcat,直接生成一个jar包,点击这个jar包就可以运行项目。(打包生成的jar包)

<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>

导入这个插件,可以将项目直接打成Jar包,然后用java -jar的命令执行

2.新建Spring Boot项目很简单

要创建一个Spring Boot应用,只需以下几步: 1.创建一个Maven工程 2.导入Spring Boot的相关依赖

<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.1.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies>

3.编写主程序

@SpringBootApplication public class SpringBoot01HelloQuickApplication { public static void main(String[] args) { SpringApplication.run(SpringBoot01HelloQuickApplication.class, args); } }

4.编写相应的Controller和Service

@Controller public class HelloController { @ResponseBody @RequestMapping("/hello") public String hello(){ return "hello world"; } }

5.测试项目是否运行 访问 localhost:8080/hello

3.Spring Boot可以不配置XML就操作数据库

@Mapper public interface CustomerMapper { @Select("select * from customer where first_name=#{firstName} and last_name=#{lastName}") List<Customer> Login(@Param("firstName") String firstName, @Param("lastName") String lastName); @Select("select * from customer e LEFT JOIN address d ON e.address_id = d.address_id") List<Customer> FindAllList(); @Select("select * from address") List<Address> FindAddress(); @Insert("insert into customer(store_id, first_name,last_name,email,address_id,active,create_date,last_update) " + "values(1, #{firstName},#{lastName},#{email},#{addId},1,NOW(),NOW())") int insert(@Param("firstName") String firstName, @Param("lastName") String lastName, @Param("email") String email, @Param("addId") int addId); @Update("update customer set first_name = #{firstName}, last_name = #{lastName} ,email=#{email},address_id=#{addId} where customer_id = #{cutId}") int updateConstomer(@Param("firstName") String firstName, @Param("lastName") String lastName, @Param("email") String email, @Param("addId") int addId ,@Param("cutId") int cutId); @Delete("delete from customer where customer_id = #{id}") int deleteCustomer(@Param("id") Integer id); }

例如可以使用注解的方式直接写sql语句操作数据库,只需要DTO实体类里面的属性和mysql数据库中的字段值能对应上就行。

4.Spring Boot的YAML语法

YAML这种语言我之前学习猪齿鱼微服务的时候接触过,是一种对空格特别敏感的语言。 以前的配置文件;大多数使用的是 xxx.xml文件,YAML以数据为中心,比json、xml等更适合做配置文件。 YAML:配置例子

server: port: 9000

XML:

<server> <port>9000</port> </server>

YAML基本语法 k:(空格)v:表示一堆键值对(空格必须有),以空格的缩进来控制层级关系;只要是左对齐的一列数据,都是同一层级的,属性和值也是大小写敏感

server: port: 9000 path: /hello

值的写法 字面量:普通的值(数字,字符串,布尔)k: v:字面直接来写,字符串默认不用加上单引号或者双引号"":双引号 不会转义字符串里的特殊字符;特殊字符会作为本身想要表示的意思

name:"zhangsan\n lisi" 输出:zhangsan换行 lisi

‘’:单引号 会转义特殊字符,特殊字符最终只是一个普通的字符串数据

name:'zhangsan\n lisi' 输出:zhangsan\n lisi

对象、Map(属性和值)键值对 k :v :在下一行来写对象的属性和值的关系;注意空格控制缩进 对象还是k:v的方式

frends: lastName: zhangsan age: 20

行内写法

friends: {lastName: zhangsan,age: 18}

数组(List、Set): 用-表示数组中的一个元素

pets: ‐ cat ‐ dog ‐ pig

行内写法

pets: [cat,dog,pig]

以上就是我学习Spring Boot的一些笔记,需要对Spring Boot这个框架有更深入的了解,还是需要自己动手实际做项目才行

转载请注明原文地址: https://www.6miu.com/read-5038057.html

最新回复(0)