Spring Boot的学习笔记

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

Spring Boot 框架的基本介绍

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

  1. 创建独立的Spring应用程序
  2. 嵌入的Tomcat,无需部署WAR文件
  3. 简化Maven配置
  4. 自动配置Spring
  5. 提供生产就绪型功能,如指标,健康检查和外部配置
  6. 绝对没有代码生成并且对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这个框架有更深入的了解,还是需要自己动手实际做项目才行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值