我是靠谱客的博主 鲜艳蓝天,最近开发中收集的这篇文章主要介绍初学StringBoot 普通Maven项目转SpringBoot项目 以及IDEA直接创建SpringBoot项目,Springboot配置文件详解学习目录StringBoot优点单体应用与微服务掌握知识及环境要求上面不会谷粒学院学习网址给 maven的 settings.xm配置文件的 profiles标签 设置jdk-1.8IDEA设置编写SpringBoot 的helloWord简化部署 层面来看1、分析POM文件解析2、分析 主程序类,主入口类IDEA使用 Spring Initial,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

学习目录

在这里插入图片描述
在这里插入图片描述

StringBoot优点

在这里插入图片描述

单体应用与微服务

如果单体应用越来越大 该怎么维护、该怎么分工合作 所以引出微服务
在这里插入图片描述
在这里插入图片描述
每一个功能元素独立出来 ,可以通过功能元素的动态组合(比如这个功能元素需要多一点 我们就可以在这台服务器多放一点,少的少放一点,,还有些功能只有在需要的时候我们在复制一点,只是功能元素级别的复制 并没有复制整个应用)
1.节省调用资源 2.服务微化起来 每一个服务都是可以替换的、可独立升级的软件单元

在这里插入图片描述

微服务文档

掌握知识及环境要求

在这里插入图片描述

上面不会谷粒学院学习网址

给 maven的 settings.xm配置文件的 profiles标签 设置jdk-1.8

在这里插入图片描述

	<profile> 
      <id>jdk-1.8</id>  
      <activation>
		<activeByDefault>true</activeByDefault>
        <jdk>1.8</jdk>  
      </activation>  
        
      <properties>  
        <maven.compiler.source>1.8</maven.compiler.source>  
        <maven.compiler.target>1.8</maven.compiler.target>  
        <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>  
      </properties>   
    </profile> 

IDEA设置

在这里插入图片描述

编写SpringBoot 的helloWord

在这里插入图片描述

创建一个Maven工程

我们先使用普通maven项目改造成springboot项目 不直接创建springboot项目
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、导入依赖 spring boot相关的依赖

<parent>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-parent</artifactId>
      <version>1.5.9.RELEASE</version>
</parent>
<dependencies>
     <dependency>
           <groupId>org.springframework.boot</groupId>
           <artifactId>spring-boot-starter-web</artifactId>
      </dependency>
</dependencies>

在这里插入图片描述

编写一个主程序 启动Spring Boot应用

//todo  告诉SpringBoot 这是一个SpringBoot主程序应用
@SpringBootApplication//todo 来标记一个主程序类 说明这是一个SpringBoot应用
public class HelloWordMainApplication {
    public static void main(String[] args) {
        //spring应用启动起来
        SpringApplication.run(HelloWordMainApplication.class,args);
    }
}

在这里插入图片描述

编写相关的 Controller、 Service

@Controller
public class HelloController {
    @ResponseBody//把字符串写到浏览器
    @RequestMapping("/hello")//接收浏览器的hello请求
    public String hello(){
        return "Hello Spring Boot";
    }
}

在这里插入图片描述

运行主程序测试

以前我们弄tomcat 现在直接去启动类跑方法
不需要做过多的配置 比如包扫描、视图解析器、前端控制器、等等以前springmvc那一套统统没配。直接应用就启动起来了 这仅仅是开发层面 在部署更方便
在这里插入图片描述

在这里插入图片描述

简化部署 层面来看

这个插件,可以将应用打包成一个可执行的ja包

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

打包

(将这个应用打成a包,直接使用 java -jar的命令进行执行)
即使目标服务器没有装tomcat环境也没关系 因为自带了tomcat环境

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
下面这些jar包就是我们在导入springboot依赖的时候依赖进来的,打包的时候会带上
在这里插入图片描述
在这里插入图片描述

1、分析POM文件解析

1)spring boot 版本仲裁中心

在这里插入图片描述
在这里插入图片描述

2) spring boot 场景启动器,帮我们导入web模块正常运行所依赖的组件。

spring boot 将所有的功能场景都抽取出来,做成一个个的starters(启动器),只需要在项目里引入相关的starter,相关场景的所有依赖都会导入进来。
在这里插入图片描述

2、分析 主程序类,主入口类

这块注解视屏分析百度网盘链接 提取码:1111

注解作用
@SpringBootApplicationSpring Boot应用标注在某个类上说明这个类是SpringBoot的主配置类,
@SpringBootConfiguration:Spring Boot的配置类; 标注在某个类上,表示这是一个Spring Boot的配置类;
@Configuration:配置类上来标注这个注解;配置类 ----- 配置文件;配置类也是容器中的一个组件;@Component
@EnableAutoConfiguration:开启自动配置功能;以前我们需要配置的东西,SpringBoot帮我们自动配置;这个注解告诉SpringBoot开启自动配置功能;这样自动配置才能生效;
@AutoConfigurationPackage:自动配置包@Import(AutoConfigurationPackages.Registrar.class):
@Import(EnableAutoConfigurationImportSelector.class);给容器中导入组件?
EnableAutoConfigurationImportSelector:导入哪些组件的选择器;将所有需要导入的组件以全类名的方式返回;这些组件就会被添加到容器中;

核心注解:@SpringBootApplication(组合注解)
Spring Boot应用标注在某个类上说明这个类是 SpringBoot的主配置类
Spring Boot就应该运行这个类的main方法来启动 SpringBoot应用
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
以上是普通maven项目转成springboot项目 完结 下面是IDEA直接创建springboot项目

IDEA使用 Spring Initializer快速创建 Spring Boot.项目(需要连网)

在这里插入图片描述
注意下面有个Package跟Group保持一样 当然的看你想要什么目录结构
在这里插入图片描述
在这里插入图片描述
点击Next 然后确定存放位置 点击Finish 他会连网从springboot官网上生成springboot项目
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

配置文件(SpringBoot使用一个全局的配置文件,配置文件名是固定的)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

YAML语法

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

yml配置获取文件值应用实例

在这里插入图片描述
在这里插入图片描述
pom.xml加入下面依赖
在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

yml中的配置在application.properties写法为

因为IDEA默认UTF-8编码格式 而properties文件不是 所以会出现中文乱码情况 需要设置(建议提前设置,不然这里配置的参数是中文的在设置后全部乱码了)
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

@PropertySource&@lmportResource

@ConfigurationProperties(prefix = “people”)//这个表示默认从全局配置文件获取people中的属性值 如果东西太多导致配置文件太大了

因此想把一些跟SpringBoot无关的配置 提取出来然后通过@PropertySource指定

第一步
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

@ImportResource:导入 Spring的配置文件,让配置文件里面的内容生效

先说一下springboot不推荐这种写法 配置文件很多怎么办 推荐使用配置类的方式 等价于你的配置文件 这里先看一下配置文件形式的写法

第一步创建一个Spring文件
在这里插入图片描述
第二步创建一个组件 我这里在service下写个HellowService 弄好之后通过bean标签加载进来 上面截图所示
在这里插入图片描述
第三步 测试容器中到底有没有叫hellowService的
在这里插入图片描述
第四步 如果你直接运行必然是false Spring boot里面没有 Spring的配置文件,我们自己编写的配置文件,也不能自动识别
想让 Spring的配置文件生效,加载进来就需要在主配置类加@ImportResource注解
在这里插入图片描述
在这里插入图片描述

推荐使用@Bean给容器中添加组件

在这里插入图片描述
第一步 写个配置类
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

配置文件占位符

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如果你想用前面设定过的值(例如people.lists=k1,l1,m1 我没注释掉 结果就是dog=Dao{name=‘k1,l1,m1_dao’, age=12}
注释掉了他在找不到 他就会把这个整体不变的拿过来 找到了就拿他得值)
在这里插入图片描述

Profile做多环境支持(开发、生产、测试环境)

在这里插入图片描述
新建个Demo来进行说明
下面启动默认 application.properties这个配置文件生效
在这里插入图片描述
在这里插入图片描述
但是上面这种激活哪个配置文件的方式总感觉麻烦 你的写很多个application-{profile}.properties

yml支持多文档块方式

在这里插入图片描述

激活方式

在这里插入图片描述
第二种:分命令行参数 还有个虚拟机参数
在这里插入图片描述
这样的(–spring.profiles.active=prod)
在这里插入图片描述

虚拟机参数:-Dspring.profiles.active=prod

在这里插入图片描述

第三种:你还可以把项目打包 来指定使用哪个配置文件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
输入java -jar springboot-demo2-config-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod
在这里插入图片描述

配置文件加载位置

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

这里注意一下打包的问题

打包它只打包src那里面的 外部的可是不打包进去的 所以配置文件不建议放到src外的
这个有必要了解一下 就是运维的时候 你还可以重新指定配置文件位置 比如你提前复制一份application.properties到某个盘符下 换上你想要的配置 项目打完包后 通过命令行参数指定新位置 是相同覆盖、互补配置
在这里插入图片描述
在这里插入图片描述

外部配置加载顺序

SpringBoott也可以从以下位置加载配置;优先级从高到低:高优先级的配置覆盖低优先级的配置,所有的配置会形成互补配置

在这里插入图片描述
分析红色部分 比如下面命令行参数
在这里插入图片描述
下面就是我们把打包好的jar包放在想要目录下 在写个配置文件放在一起 打开cmd java -jar 启动 该配置文件就会生效
在这里插入图片描述
在这里插入图片描述

配置文件配置原理

官方文档地址
这块视屏链接:提取码:1111

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

@Conditional扩展

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

日志框架

SpringBoot默认选用 SLF4j和logback;

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring‐boot‐starter‐logging</artifactId>
</dependency>

给类路径下放上每个日志框架自己的配置文件即可;SpringBoot就不使用他默认配置的了
logback.xml:直接就被日志框架识别了;logback-spring.xml:日志框架就不直接加载日志的配置项,由SpringBoot解析日志配置,可以使用SpringBoot的高级Profile功能。

最后

以上就是鲜艳蓝天为你收集整理的初学StringBoot 普通Maven项目转SpringBoot项目 以及IDEA直接创建SpringBoot项目,Springboot配置文件详解学习目录StringBoot优点单体应用与微服务掌握知识及环境要求上面不会谷粒学院学习网址给 maven的 settings.xm配置文件的 profiles标签 设置jdk-1.8IDEA设置编写SpringBoot 的helloWord简化部署 层面来看1、分析POM文件解析2、分析 主程序类,主入口类IDEA使用 Spring Initial的全部内容,希望文章能够帮你解决初学StringBoot 普通Maven项目转SpringBoot项目 以及IDEA直接创建SpringBoot项目,Springboot配置文件详解学习目录StringBoot优点单体应用与微服务掌握知识及环境要求上面不会谷粒学院学习网址给 maven的 settings.xm配置文件的 profiles标签 设置jdk-1.8IDEA设置编写SpringBoot 的helloWord简化部署 层面来看1、分析POM文件解析2、分析 主程序类,主入口类IDEA使用 Spring Initial所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部