构建第一个SpringBoot Project

一、SpringBoot简介

1. 原有Spring优缺点分析

Spring的优点:
  Spring是Java企业版(Java Enterprise Edition)的轻量级代替品,无需开发重量级的Enterprise JavaBean(EJB),Spring为企业级Java开发提供了一种相对简单的方法,通过依赖注入和面向切面编程,用简单的Java对象(Plain Old Java Object)实现了EJB的功能;

Spring的缺点:
  虽然Spring的组件代码是轻量级的,但它的配置却是重量级的。一开始,Spring用XML配置,而且是很多XML配置。Spring 2.5引入了基于注解的组件扫描,这消除了大量针对应用程序自身组件的显式XML配置。Spring 3.0引入了基于Java的配置,这是一种类型安全的可重构配置方式,可以代替XML。
  所有这些配置都代表了开发时的损耗,因为在思考Spring特性配置和解决业务问题之间需要进行思维切换,所以编写配置挤占了编写应用程序逻辑的时间。和所有框架一样,Spring实用,但与此同时它要求的回报也不少。除此之外,项目的依赖管理也是一件耗时耗力的事情。在环境搭建时,需要分析要导入哪些库的坐标,而且还需要分析导入与之有依赖关系的其他库的坐标,一旦选错了依赖的版本,随之而来的不兼容问题就会严重阻碍项目的开发进度。

2. SpringBoot的概述
  SpringBoot对上述Spring的缺点进行改善和优化,基于约定优于配置的思想,可以让开发人员不必在配置与逻辑业务之间进行思维的切换,全身心的投入到逻辑业务的代码编写中,从而大大提高了开发的效率,一定程度上缩短了项目周期。

3. SpringBoot的特点

  • SpringBoot不是对Spring功能上的增强,而是提供了一种快速使用Spring的方式;

  • 开箱即用,没有代码生成,也无需XML配置,同时也可修改默认值来满足特定的需求;

  • 内嵌Servlet容器,SpringBoot可以内嵌Tomcat,无需以war包的形式部署项目,只需通过java -jar xx.jar jar包形式运行,非常方便;

  • 提供starter简化Maven配置,使用Spring或者SpringMVC我们需要添加大量的依赖,而这些依赖很多都是固定的,这里Spring Boot 通过starter能够帮助我们简化Maven配置。

4. SpringBoot核心功能

  • 起步依赖:起步依赖本质上是一个Maven项目对象模型(POM),定义了对其他库的传递依赖,这些东西加在一起即支持某项功能。简单的说,起步依赖就是将具备某种功能的坐标打包到一起,并提供一些默认的功能。

  • 自动配置:Spring Boot的自动配置是一个运行时(更准确地说,是应用程序启动时)的过程,考虑了众多因素,才决定Spring配置应该用哪个,不该用哪个,该过程是Spring自动完成的。

补充:SpringBoot和SSM开发中有什么区别?

二、创建SpringBoot Demo

1. new Project -> Spring Initializr
01idea创建springboot

2. 填写Group、Artifact
02idea创建springboot

3. 选择Web -> Spring Web Starter
03idea创建springboot
4. Springboot Demo目录结构
Springboot Demo目录结构

5. Springboot Demo启动控制台输出
Springboot项目启动

6. SpringBoot 引导类
SpringBoot 引导类

7. SpringBoot pom.xml文件
SpringBoot pom.xml文件

8. 小结
小结

三、SpringBoot的配置文件

1. SpringBoot配置文件类型

SpringBoot是基于约定的,所以很多配置都有默认值,但如果想使用自己的配置替换默认配置的话,就可以使用application.properties或者application.yml(application.yaml)进行配置。SpringBoot默认会从Resources目录下加载配置文件,其中application.properties文件是键值对类型的文件,下面介绍application.yml

2. yml配置文件简介

YML文件格式是YAML (YAML Aint Markup Language)编写的文件格式,YAML是一种直观的能够被电脑识别的的数据序列化格式,并且容易被人类阅读,容易和脚本语言交互,可以被支持YAML库的不同的编程语言程序导入,比如: C/C++,Ruby,Python,Java,Perl,C#,PHP等。YML文件是以数据为核心的,比传统的xml方式更加简洁,YML文件的扩展名可以使用.yml/.yaml


四、yml配置文件的语法

1. 配置普通数据

  • 语法:key: value
  • 示例代码:name: zhazha

注意:value之前有一个空格。

2. 配置对象数据

语法:

key:
  key1: value1
  key2: value2
或者:
key: {key1: value1,key2: value2}

示例代码:

person:
  name: feifei
  age: 18
  addr: guangzhou
#或者
person: {name: feifei,age: 18,addr: guangzhou}

注意:key1前面的空格个数不限定,在yml语法中,相同缩进代表同一个级别。

3. 配置Map数据
  同上面的对象写法

语法:

#map配置
map:
  key1: value1
  key2: value2

4. 配置数组(List、Set)数据

语法:

key:
- value1
- value2
或者:
key: [value1,value2]

示例代码:

city:
  - beijing
  - shanghai
  - guagnzhou
#或者
city: [beijing,shanghai,guangzhou]

#集合中的元素是对象形式
student:
  - name: zhangsan
    age: 18
    score: 100
  - name: lisi
    age: 28
    score: 88
  - name: wangwu
    age: 38
    score: 90

注意:value与 - 之间存在一个空格。

5. SpringBoot配置信息的查询

上面提及过,SpringBoot的配置文件,主要的目的就是对配置信息进行修改的,但在配置时的key从哪里去查询呢?我们可以查阅SpringBoot的官方文档

比如修改默认端口为8888:

application.properties:
server.port=8888
server.servlet.context-path=demo

application.yml:
server:
  port: 8888
  servlet:
    context-path: /demo

五、配置文件与配置类的属性映射方式

配置文件代码:

application.properties:
person.name=zhangsan
person.age=18

application.yml:
person:
  name: zhangsan
  age: 18

1. 使用注解@Value映射

通过@Value注解可以将配置文件中的值映射到一个Spring管理的Bean的字段上

实体Bean代码如下:

@Controller
public class QuickStartController {

    @Value("${person.name}")
    private String name;

    @Value("${person.age}")
    private Integer age;

    @RequestMapping("/quick")
    @ResponseBody
    public String quick(){
        return "Springboot访问成功! name:"+name+",age:"+age;
    }
}

浏览器访问地址:http://localhost:8080/quick 结果如下:

Springboot访问成功结果


2. 使用注解@ConfigurationProperties映射

通过注解@ConfigurationProperties(prefix="配置文件中的key的前缀")可以将配置文件中的配置自动与实体进行映射

实体Bean代码如下:

@Controller
@ConfigurationProperties(prefix = "person")
public class QuickStartController {
    private String name;
    private Integer age;

    @RequestMapping("/quick")
    @ResponseBody
    public String quick(){
        return "springboot 访问成功! name="+name+",age="+age;
    }
    public void setName(String name) {
        this.name = name;
    }
    public void setAge(Integer age) {
        this.age = age;
    }
}

浏览器访问地址:http://localhost:8080/quick,结果如下:

Springboot访问成功结果

注意:使用@ConfigurationProperties方式可以进行配置文件与实体字段的自动映射,但需要字段必须提供set方法才可以,而使用@Value注解修饰的字段不需要提供set方法。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 一个Spring Boot项目可以通过以下特征进行标识: 1. 主类标注:Spring Boot应用程序的主类应该使用@SpringBootApplication注解进行标记。这个注解包含了@ComponentScan、@EnableAutoConfiguration和@SpringBootConfiguration三个注解。 2. 配置文件:Spring Boot应用程序可以使用application.properties或application.yml文件作为配置文件,这些文件需要放在classpath根目录下。 3. 依赖管理:Spring Boot可以通过Maven或Gradle进行依赖管理,在pom.xml或build.gradle文件中可以添加Spring Boot Starter依赖来快速集成常用的框架和库。 4. 自动配置:Spring Boot提供了大量的自动配置,可以根据应用程序所需的功能自动配置相应的组件和框架,减少了手动配置的工作量。 5. 插件支持:Spring Boot提供了很多插件来支持开发和部署,如Spring Boot Maven插件和Spring Boot Gradle插件等。这些插件可以帮助我们快速地构建、打包和部署Spring Boot应用程序。 ### 回答2: 标识一个Spring Boot项目主要有以下几种方式: 1. 项目名称:通过给项目取一个有意义的名称来标识,这样可以直观地了解项目的用途和功能。 2. 项目包名:在Spring Boot项目中,通常会使用包名来标识项目,包名一般会按照逆域名的方式命名,并且包名中可以加入一些项目相关的标识,比如"com.example.project"。 3. 项目logo:为项目设计一个独特的logo,可以是文字、图形或者组合,通过logo可以方便地辨识和识别项目。 4. 项目图标:为项目生成一个独特的图标文件,常见的是.ico格式的图标文件,可以添加在项目的文件夹、桌面快捷方式、启动器等位置,使项目在视觉上更具辨识度。 5. 项目标签或标志:可以给项目添加一些特定的标签或标志,比如使用特定的图标、徽章或者标签,以便在开发工具、网站或者项目文档中快速辨别项目。 6. 项目描述:在项目的README或者文档中,对项目进行详细的描述和说明,包括项目的名称、用途、功能、技术栈、特点等,方便其他人快速了解项目。 除了以上几种方式,还可以根据具体需求和项目的特点进行更加灵活的标识方式,例如制作项目宣传海报、展示项目demo、制作项目介绍视频等。每种标识方式都可以根据实际情况来选择或者结合使用,以达到既能吸引注意力又能明确识别的效果。 ### 回答3: 标识一个SpringBoot项目可以通过以下几个方面进行: 1. 项目名称:给项目起一个清晰、简洁、有意义的名称,可以反映项目的主要功能或特点,在命名时尽量遵循命名规范,便于理解和记忆。 2. 项目描述:在项目的README文件或项目介绍中,提供项目的简要描述,包括项目的目的、功能特点、技术栈等信息,使其他人对项目有基本了解。 3. 项目结构:通过规范的项目结构来标识一个SpringBoot项目。通常情况下,项目包含了主代码、配置文件、测试代码等若干个目录,其中主代码包含了项目的主要逻辑和功能,配置文件则包含了项目的配置信息。 4. 项目标识符:在SpringBoot项目的配置文件(如application.properties或application.yml)中,可以设置项目的标识符,如应用名、版本号等信息,用于直观识别和区分不同的SpringBoot项目。 5. 依赖管理:SpringBoot项目通常会依赖一些第三方库或框架,在项目的构建工具(如Maven或Gradle)的配置文件中,明确列出项目所依赖的库的版本号,有助于其他开发者了解项目所使用的技术栈。 6. 版本控制:使用版本控制工具(如Git)管理项目的代码,通过提交代码的日志信息,记录项目的变更和发展历程,便于追踪和回溯。 通过以上方式,可以有效地标识一个SpringBoot项目,使人们能够快速了解项目的名称、用途、功能特点、依赖库等重要信息,方便进行开发、协作和维护。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值