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这个框架有更深入的了解,还是需要自己动手实际做项目才行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于C++&OPENCV 的全景图像拼接 C++是一种广泛使用的编程语言,它是由Bjarne Stroustrup于1979年在新泽西州美利山贝尔实验室开始设计开发的。C++是C语言的扩展,旨在提供更强大的编程能力,包括面向对象编程和泛型编程的支持。C++支持数据封装、继承和多态等面向对象编程的特性和泛型编程的模板,以及丰富的标准库,提供了大量的数据结构和算法,极大地提高了开发效率。12 C++是一种静态类型的、编译式的、通用的、大小写敏感的编程语言,它综合了高级语言和低级语言的特点。C++的语法与C语言非常相似,但增加了许多面向对象编程的特性,如类、对象、封装、继承和多态等。这使得C++既保持了C语言的低级特性,如直接访问硬件的能力,又提供了高级语言的特性,如数据封装和代码重用。13 C++的应用领域非常广泛,包括但不限于教育、系统开发、游戏开发、嵌入式系统、工业和商业应用、科研和高性能计算等领域。在教育领域,C++因其结构化和面向对象的特性,常被选为计算机科学和工程专业的入门编程语言。在系统开发领域,C++因其高效性和灵活性,经常被作为开发语言。游戏开发领域中,C++由于其高效性和广泛应用,在开发高性能游戏和游戏引擎中扮演着重要角色。在嵌入式系统领域,C++的高效和灵活性使其成为理想选择。此外,C++还广泛应用于桌面应用、Web浏览器、操作系统、编译器、媒体应用程序、数据库引擎、医疗工程和机器人等领域。16 学习C++的关键是理解其核心概念和编程风格,而不是过于深入技术细节。C++支持多种编程风格,每种风格都能有效地保证运行时间效率和空间效率。因此,无论是初学者还是经验丰富的程序员,都可以通过C++来设计和实现新系统或维护旧系统。3

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值