欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Springboot入门及yml配置文件

程序员文章站 2022-06-28 16:28:04
目录Springboot概念使用Idea配置Springboot项目yml配置文件Springboot概念Spring Boot它本身并不提供Spring框架的核心特性以及扩展功能,只是用于快速、敏捷地开发新一代基于Spring框架的应用程序。也就是说,它并不是用来替代Spring的解决方案,而是和Spring框架紧密结合用于提升Spring开发者体验的工具。同时它集成了大量常用的第三方库配置(例如Jackson, JDBC, Mongo, Redis, Mail等等),Spring Boo...

Springboot概念

Spring Boot它本身并不提供Spring框架的核心特性以及扩展功能,
只是用于快速、敏捷地开发新一代基于Spring框架的应用程序。
也就是说,它并不是用来替代Spring的解决方案,
而是和Spring框架紧密结合用于提升Spring开发者体验的工具。

同时它集成了大量常用的第三方库配置(例如Jackson, JDBC, Mongo, Redis, Mail等等),
Spring Boot应用中这些第三方库几乎可以零配置的开箱即用(out-of-the-box),
大部分的Spring Boot应用都只需要非常少量的配置代码,开发者能够更加专注于业务逻辑
  
  注1:敏捷式开发
  注2:spring boot其实不是什么新的框架,它默认配置了很多框架的使用方式,
        就像maven整合了很多的jar包,spring boot整合了很多的框架

使用Idea配置Springboot项目


New Module--》使用Spring Initializr初始化生成springboot(可以在idea里直接使用,Spring Initializr是默认集成到idea中的,直接就可以使用它的组件),或者是使用它的一个web界面创建项目


Springboot入门及yml配置文件

选择应用的组件,例如Lombok

Springboot入门及yml配置文件


选择完成后,保持网络正常,等待加载相关依赖后即可生成springboot项目
springboot项目创建后会有一个默认程序入口:

package com.xiaoyang.springbootind;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class SpringbootindApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringbootindApplication.class, args);
    }

}


springboot本身内置一个类似于tomcat的服务器的,只需要在这个类直接启动springboot

Springboot入门及yml配置文件
这里启动后默认访问端口号为8080,可在创建项目后生成的properties文件中修改端口(一般会将properties文件修改为yml文件,类似xml文件,因为其结构层次更加清晰)

yml配置文件

创建完成springboot项目后,会在yml文件中配置较多的信息,springboot启动时会默认加载application.properties和application.yml以及application-{profile}.properties和application-{profile}.yml
这个文件可以配置服务器信息,传入一些参数等等…

server:
  servlet:
    context-path: /
user:
  uname: zs
  pwd: 123

这里我修改了服务器启动后访问路径为/,访问时无需带项目名称(默认)

这里结合一个案例可以进一步了解这个配置文件的使用

controller:

package com.xiaoyang.springbootind.controller;

import com.xiaoyang.springbootind.configurationproperties.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author xiaoyang
 * @create  2020-11-26 19:23
 */
@RestController  //相当于@ResponseBody+@Controller
public class HelloController {

    @Value("${user.uname}")
    private String uname;
    @Value("${user.pwd}")
    private String pwd;

    @Autowired
    private User user;//当配置信息的内容比较多时,使用属性封装

    @RequestMapping("/hello")
    public String hello() {
        return "hello springboot"+uname+pwd+user;
    }
}

web页面输出:

hello springbootzs123User(uname=zs, pwd=123)

@Value注解的作用:
将配置文件的信息读取出来并注入,有两种方法读取信息:${}、#{}
前者直接将要注入的对象属性放入即可,后者和上面的属性封装一样,需要这个属性在spring中是某个bean的属性,意思就是必须是某个实体类的属性,并且有set\get方法,所以这里使用属性封装类更加便捷
附上User类:

package com.xiaoyang.springbootind.configurationproperties;

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

/**
 * @author xiaoyang
 * @create  2020-11-26 20:14
 * 属性封装类
 */
@Component
@Data
@ConfigurationProperties(prefix = "user")
public class User {

    private String uname;
    private String pwd;
}

使用@ConfigurationProperties注解需要导入依赖(之前是可以直接点击链接解决的,版本原因需要导入pom依赖)

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-configuration-processor</artifactId>
	<optional>true</optional>
</dependency>

over…

本文地址:https://blog.csdn.net/qq_45510899/article/details/110218971

相关标签: spring boot