一文带你学习SpringBoot

一、SpringBoot简介

1.什么是SpringBoot

​ 产生背景:Spring开发比较繁琐,配置文件很多,部署流程复杂,整合第三方框架难度大。这会降低开发效率

SpringBoot是一个简化Spring应用创建和开发的框架

​ 整合了整个Spring技术栈,是JavaEE开发一站式解决方案

2.为什么使用SpringBoot

优点:

  • 可以快速构架Spring项目,并与主流框架进行集成
  • 内置Servlet容器,不需要手动部署war包
  • 使用starter管理依赖并进行版本控制
  • 大量自动配置,简化开发
  • 提供准生产环境的运行时监控
  • 不需要XML文件

二、第一个SpringBoot程序

1.操作步骤

步骤:

1.1 创建一个Maven的jar工程

传统的应用需要创建web工程,然后将应用打成war包,然后部署在容器中

而SpringBoot只需要打成一个jar包,其中内置了tomcat

1.2 导入SpringBoot相关依赖

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 <modelVersion>4.0.0</modelVersion>
 <groupId>com.ly</groupId>
 <artifactId>springboot01-helloworld</artifactId>
 <version>1.0-SNAPSHOT</version>
 <parent>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-parent</artifactId>
 <version>2.1.9.RELEASE</version>
 </parent>
 <name>springboot01-helloworld</name>
 <!-- FIXME change it to the project's website -->
 <url>http://www.example.com</url>
 <properties>
 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 <maven.compiler.source>1.8</maven.compiler.source>
 <maven.compiler.target>1.8</maven.compiler.target>
 </properties>
 <dependencies>
 <dependency>
 <groupId>junit</groupId>
 <artifactId>junit</artifactId>
 <version>4.11</version>
 <scope>test</scope>
 </dependency>
 <dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-web</artifactId>
 </dependency>
 </dependencies>
 <build>
 </build>
</project>

1.3 创建Controller

package com.ly.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
/**
 * Author: LuYi
 * Date: 2019/10/27 11:05
 * Description: 描述
 */
@Controller
public class HelloController {
 @RequestMapping("/hello")
 @ResponseBody
 public String hello(){
 return "Hello World";
 }
}

1.4 创建启动类

package com.ly;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
 * Author: LuYi
 * Date: 2019/10/27 11:05
 * Description: 使用@SpringBootApplication将类标注成SpringBoot应用
 */
@SpringBootApplication
public class App {
 public static void main(String[] args) {
 SpringApplication.run(App.class, args);
 }
}

默认会扫描@SpringBootApplication注解所在的包及其子包,也可使用@ComponentScan("com.ly.controller")注解进行指定

1.5 打包

<!--该插件可以将应用打包成一个可执行的jar包-->
<build>
 <plugins>
 <plugin>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-maven-plugin</artifactId>
 </plugin>
 </plugins>
</build>

添加该插件,将应用打成可执行的jar包, 执行:java -jar jar文件

2. 分析HelloWorld

2.1 POM文件

  • 父工程
<parent>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-parent</artifactId>
 <version>2.1.9.RELEASE</version>
</parent>
  • 父工程的父工程:用来管理SpringBoot应用中依赖的版本,进行版本控制
<parent>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-dependencies</artifactId>
 <version>2.1.9.RELEASE</version>
 <relativePath>../../spring-boot-dependencies</relativePath>
</parent>
  • 依赖:通过starter指定依赖
<dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-web</artifactId>
</dependency>
  • SpringBoot提供了很多starter(启动器),分别对应了不同的应用场景,当在项目中引入这些starter时,相应场景的依赖就会被导入进来

2.2 启动类

@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(
 excludeFilters = {@Filter(
 type = FilterType.CUSTOM,
 classes = {TypeExcludeFilter.class}
), @Filter(
 type = FilterType.CUSTOM,
 classes = {AutoConfigurationExcludeFilter.class}
)}
)
  • @SpringBootApplication
  • 标注在类上,表示这个类是SpringBoot的启动类,通过该类的Main方法启动SpringBoot应用
  • @SpringBootConfiguration
  • 标注在类上,表示这个类是SpringBoot的配置类
  • 层级关系:SpringBootConfiguration——>@Configuration——>@Component

​ @Configuration:标注在类上,表示这个类是Spring的配置类,相当于XML配置文件

  • @EnableAutoConfiguration
  • 开启自动配置功能,简化了以前繁琐的配置
  • SpringBoot在启动时会在/META-INF/spring.factories中EnableAutoConfiguration指定的值,将这些值作为自动配置类添加到容器中,这些自动配置类会帮我们完成很多配置工作。
  • @ComponentScan
  • 标注在类上,指定要扫描的包及其子包

三、快速创建SpringBoot项目

1.简介

使用Spring initializer快速构建SpringBoot项目

2. 基本操作

  • pom文件和主程序类自动生成,直接写业务逻辑即可
  • resources文件夹的目录结构
|-static	存放静态资源,如js,css,images
|-template	存放模板引擎,如freemarker、thymeleaf等
|-application.properties	SpringBoot应用的配置文件,可以修改默认设置

四、配置文件

1.简介

SpringBoot的默认全局配置文件有两种:

  • application.properties
  • application.yml

文件名固定,存放在classpath:/或classpath:/config/目录下

 

 

可以修改Spring Boot默认配置,具体参考: http://docs.spring.io/spring-boot

注意:SpringBoot2.0和1.0的配置有区别,有的配置项已被删除

2.YAML用法

2.1 简介

YAML不是一种标记语言,YAML是专门用来写配置文件的,它以数据为中心,简介强大,比xml和properties更适合做配置文件

YAML文件以.yml或.yaml为后置名

2.2 application.yml

server:
 port: 8081	#写法:key: value 冒号后面必须有空格
 servlet:
 context-path: /springboot03/

2.3 语法规则

  • 大小写敏感
  • 使用缩进表示层级关系
  • 缩进时不允许使用Tab键
  • 缩进的空格数目不重要,但是要与对应的层级的左侧对齐
  • #表示注释

2.4 基本用法

YAML支持的数据结构有三种:

  • 字面量:单个的,不可再分的值(字符串、数字、boolean值)
  • 对象:键值对集合
  • 数组:一组按次序排列的值

三种数据结构的用法:

​ 1.字面量:普通的值,如数字、字符串、布尔值

number: 12.5
str: hello
name: 'tom cruise' #如字符串包含空格及特殊字符需要使用 引号 引起来
name: 'tom \n cruise' #不会对特殊字符进行转义 结果为:tom 换行 cruise
name: "tom \n cruise" #对特殊字符进行转义,会作为普通字符输出, 结果为 tom \n cruise
  1. 对象,也成为映射Map,包含属性和值
# 写法1:换行写
user:
 name: tom
 age: 20
 sex: male
 
# 写法2:行内写法
user: {name: tom, age: 20, sex: male}
  1. 数组,如List、Set等
# 写法1: 一组短横线开头的行
names: 
 - tom
 - jack
 - alice
 
# 写法2: 行内写法
name: {tom,jack,alice}

3. 为属性注入值

通过加载配置文件,为类中的属性注入值

3.1 编写application.yml

user:
 username: admin
 age: 21
 status: true
 birthday: 2019/2/14
 address:
 province: 黑龙江省
 city: 哈尔滨市
 lists:
 - list1
 - list2
 - list3
 maps: {k1: v1,k2: v2}

3.2 创建实体类

User

package com.luyi.bean;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
 * Author: LuYi
 * Date: 2019/10/27 13:49
 * Description: 通过加载配置文件为当前类中的属性注入值
 */
// 必须将当前类加入到容器
@Component
// 默认读取全局配置文件获取值,当前类中的所有属性与 user 进行绑定
@ConfigurationProperties(value = "user")
public class User {
 private String username;
 private Integer age;
 private Boolean status;
 private Date birthday;
 private Address address;
 private List<String> lists;
 private Map<String, Object> maps;
 public String getUsername() {
 return username;
 }
 public void setUsername(String username) {
 this.username = username;
 }
 public Integer getAge() {
 return age;
 }
 public 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Eclipse是一个开放源代码的集成开发环境(IDE),可用于Java开发,但也可以用于其他编程语言的开发。在本文中,我将向你展示如何使用Eclipse进行Java开发。 1. 下载Eclipse 首先,你需要从Eclipse官方网站下载Eclipse IDE。下载页面上将提供几个不同的版本,包括Eclipse IDE for Java Developers、Eclipse IDE for JavaScript and Web Developers,以及Eclipse IDE for C/C++ Developers等。选择适合你的版本,然后按照安装向导进行安装。 2. 创建Java项目 一旦你安装了Eclipse,你可以启动它并创建一个新的Java项目。选择“File”->“New”->“Java Project”,然后按照向导创建一个新的Java项目。在创建项目时,你需要指定项目名称、项目类型以及JRE版本等信息。 3. 创建Java类 一旦你创建了一个Java项目,你就可以创建一个Java类。选择你的Java项目,在“src”文件夹上右键单击,然后选择“New”->“Class”。输入类名和选择要继承的类(如果有的话),然后点击“Finish”。 4. 编写Java代码 现在你已经创建了一个Java类,可以开始编写Java代码了。在Eclipse的编辑器中,你可以输入Java代码并保存它。当你保存Java文件时,Eclipse会自动编译你的代码,并在Problems视图中显示任何编译错误。 5. 运行Java程序 一旦你编写了Java代码并保存了它,你可以运行Java程序。右键单击Java文件,然后选择“Run As”->“Java Application”。如果一切顺利,你的Java程序将在控制台中输出结果。 6. 调试Java程序 如果你的Java程序出现了错误或不按预期运行,你可以使用Eclipse的调试器来调试它。在Eclipse的编辑器中,你可以设置断点并启动调试器。当程序执行到断点时,调试器会暂停程序并允许你检查变量、运行代码等。 7. 导入外部JAR包 有时,你可能需要使用外部JAR包来完成你的Java项目。在Eclipse中,你可以简单地将外部JAR包导入到你的项目中。右键单击Java项目,然后选择“Build Path”->“Configure Build Path”。在“Libraries”选项卡上,你可以添加外部JAR包。 总结 在本文中,我们介绍了如何使用Eclipse进行Java开发。我们学习了如何创建Java项目、创建Java类、编写Java代码、运行Java程序、调试Java程序以及导入外部JAR包。Eclipse具有强大的功能,可以大大提高Java开发的效率。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值