SpringBoot 入门

本文详细介绍SpringBoot框架的基本概念,包括其简化Spring应用开发的特点,微服务架构理念,以及如何从零开始创建并部署一个SpringBoot应用。此外,还深入讲解了YAML配置文件的使用,展示了如何通过配置文件灵活调整应用参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、springboot简介

    简化spring应用开发的一个框架

    整个spring技术栈的一个大整合

    j2ee开发的一站式解决

2、微服务

     微服务:架构放个(服务简化)

     一个应用应该是一组小的服务,可以通过HTTP的方式进行通信,每一个功能元素都是一个可以独立替换和提升的组件

3.环境准备

maven安装

idea maven 的配置

file->setting->build....->build tools->maven    下设置成自己所下载配置的maven

4.使用springboot写一个hello world

      浏览器发送一个请求服务器接受并处理请求 响应一个hello world

           1.点击file -》 new project 创建一个spring boot项目

           

点击next并修改自己自定义的项目名称

创建完后应为该图项目结构   现在的是一个项目的启动类也就是以后需要运行该类来启动项目

2.在src-》main-》Java-》项目名称  下新建controller包 在包下新建控制类

/hello是待会需要访问的URL路径

执行主程序

出现以上信息证明项目启动成功  8080为项目端口   到浏览器输入localhost://8080/hello

5.springboot 的简化部署 也就是将应用打成jar包(依据上面的hello demon)

    一、在maven文件中加入  来引用插件

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

    二、点击右侧的maven按钮   点击package 点运行 打包

然后再复制该文件到桌面运行 

6

6.场景启动器

 

引用博客

7.yml简介

springboot是使用一个全局的配置文件来修改默认信息的

application.properties     

  server.port = 8081

application.yml(yml文件是以数据为中心,避免了xml中大量重复的标签)

server:
  port: 8081  (父目录与子目录之间有suo)缩进

8.yml语法

  1.基本语法(属性 值 大小写敏感)

      以空格的缩进来控制继承关系,只要左对齐的一系列数据yml都会看成同一级别。

2.值的语法

     字面量:普通的值(数字 字符 布尔)

         字符串默认不需要使用单双引号

               “  ”:不会转移字符串里面的特殊字符

                       “zhangsan \n lisi”          zhangsan 换行 lisi

               '  ' :  会转移字符串里面的特殊字符

                        “zhangsan \n lisi”          zhangsan \n lisi

     对象 

              hunman:

                    age: 20

                    name: zhangsan

     数组

9.yml配置文件中值的获取

分别创建personlei类和dog类  和编写配置文件

package com.example.demo;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

import java.util.Date;
import java.util.List;
import java.util.Map;
/*
* @Component把普通pojo实例化到spring容器中,相当于配置文件中的
<bean id="" class=""/>
* */
@Component
@ConfigurationProperties(prefix = "person")//将文件对应类进行映射
public class Person {
    private String name;
    private Integer age;
    private boolean boss;
    private Date birthday;

    private Map<String,Object> maps;
    private List<Object> lists;
    private Dog dog;

    public void setName(String name) {
        this.name = name;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public void setBoss(boolean boss) {
        this.boss = boss;
    }

    public void setBirthday(Date birthday) {
        this.birthday = birthday;
    }

    public void setMaps(Map<String, Object> maps) {
        this.maps = maps;
    }

    public void setLists(List<Object> lists) {
        this.lists = lists;
    }

    public void setDog(Dog dog) {
        this.dog = dog;
    }

    public String getName() {
        return name;
    }

    public Integer getAge() {
        return age;
    }

    public boolean isBoss() {
        return boss;
    }

    public Date getBirthday() {
        return birthday;
    }

    public Map<String, Object> getMaps() {
        return maps;
    }

    public List<Object> getLists() {
        return lists;
    }

    public Dog getDog() {
        return dog;
    }

    @Override
    public String toString() {
        return "Person{" +
                "name='" + name + '\'' +
                ", age=" + age +
                ", boss=" + boss +
                ", birthday=" + birthday +
                ", maps=" + maps +
                ", lists=" + lists +
                ", dog=" + dog +
                '}';
    }
}
package com.example.demo;

public class Dog {
    private String name;
    private Integer age;

    public void setName(String name) {
        this.name = name;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public Integer getAge() {
        return age;
    }

    @Override
    public String toString() {
        return "Dog{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}
server:
  port: 8081

person:
  name: zhangsan
  age: 20
  boss: true
  birthday: 1998/02/07
  maps:
    k1: v1
    k2: v2
  lists:
    - lisi
    - zhangsan
  dog:
    name: xiaohu
    age: 1

测试类中书写

package com.example.demo;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

@RunWith(SpringRunner.class)
@SpringBootTest
public class SpringBootDemon01ApplicationTests {
	@Autowired
	Person person;
	@Test
	public void contextLoads() {
		System.out.println(person);
	}

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值