SpringBoot基础篇(二):HelloWorld细节探究

1、场景启动器

1.1依赖

    <!--Hello World项目的父工程是org.springframework.boot--><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.2.1.RELEASE</version><relativePath/></parent><!--org.springframework.boot他的父项目是spring-boot-dependencies他来真正管理Spring Boot应用里面的所有依赖版本;Spring Boot的版本仲裁中心;以后我们导入依赖默认是不需要写版本;(没有在dependencies里面管理的依赖自然需要声明版本号)--><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>2.2.1.RELEASE</version><relativePath>../../spring-boot-dependencies</relativePath></parent>

1.2、SpringBoot场景启动器

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId>
</dependency>

​ spring-boot-starter:spring-boot场景启动器;帮我们导入了web模块正常运行所依赖的组件;

Spring Boot将所有的功能场景都抽取出来,做成一个个的starters(启动器),只需要在项目里面引入这些starter相关场景的所有依赖都会导入进来。要用什么功能就导入什么场景的启动器.

2、自动配置

package com.lizhengi;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;/*** springBootApplication:标注一个主程序类,表示这个是一个Springboot应用*/@SpringBootApplication
public class HelloWorldApplication {public static void main(String[] args) {//Spring应用启动SpringApplication.run(HelloWorldApplication.class, args);}
}

@SpringBootApplication: Spring Boot应用标注在某个类上说明这个类是SpringBoot的主配置类,SpringBoot就应该运行这个类的main方法来启动SpringBoot应用;

看一下@SpringBootApplication这个注解类的源码

@Target({ElementType.TYPE})    //可以给一个类型进行注解,比如类、接口、枚举
@Retention(RetentionPolicy.RUNTIME)    //可以保留到程序运行的时候,它会被加载进入到 JVM 中
@Documented    //将注解中的元素包含到 Javadoc 中去。
@Inherited    //继承,比如A类上有该注解,B类继承A类,B类就也拥有该注解@SpringBootConfiguration@EnableAutoConfiguration/*
*创建一个配置类,在配置类上添加 @ComponentScan 注解。
*该注解默认会扫描该类所在的包下所有的配置类,相当于之前的 <context:component-scan>。
*/
@ComponentScan(excludeFilters = {@Filter(type = FilterType.CUSTOM,classes = {TypeExcludeFilter.class}
), @Filter(type = FilterType.CUSTOM,classes = {AutoConfigurationExcludeFilter.class}
)}
)
public @interface SpringBootApplication
  • @SpringBootConfiguration:Spring Boot的配置类;标注在某个类上,表示这是一个Spring
    Boot的配置类;
  • @SpringBootConfiguration:Spring Boot的配置类;标注在某个类上,表示这是一个Spring
    Boot的配置类;
  • @EnableAutoConfiguration:开启自动配置功能:以前我们需要配置的东西,Spring Boot帮我们自动配置;@EnableAutoConfiguration告诉SpringBoot开启自动配置功能;这样自动配置才能生效;
  • @AutoConfigurationPackage:自动配置包。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/535906.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MIP 与 AMP 合作进展(3月7日)

“到目前为止&#xff0c;全网通过 MIP 校验的网页已超10亿。除了代码和缓存&#xff0c; MIP 还想做更多来改善用户体验移动页面。” 3月7日&#xff0c;MIP 项目负责人在首次 AMP CONF 上发言。 那么 MIP 和 AMP 的关系是什么呢&#xff1f; AMP 是一个开源性项目&#xff…

SpringBoot番外篇(一):使用Spring Initializer快速创建Spring Boot项目(IDEA版)

IDE都支持使用Spring的项目创建向导快速创建一个Spring Boot项目&#xff1b; 选择我们需要的模块&#xff1b;向导会联网创建Spring Boot项目&#xff1b; ps:需要联网 1、创建新项目时选择Spring Initializ&#xff0c;选择好java版本&#xff0c;点击next。r 2、填写项…

开发教程(四) MIP组件平台使用说明

组件审核平台用于上传 MIP 组件。经过自动校验之后&#xff0c;提交审核&#xff0c;通过审核的组件会定时推送到线上&#xff0c;供网站使用。 平台地址&#xff1a;https://www.mipengine.org/platform/ 1. 使用说明 MIP 组件审核平台用于提交开发完成的组件&#xff0c;如…

MIP 技术交流分享(3月15日)

3月15日下午&#xff0c;MIP 团队工程师与58赶集的 Web 前端工程师进行了一次面对面的技术交流。 在这次交流中&#xff0c;MIP 工程师主要分享了 MIP 技术原理&#xff0c;MIP 加速原理&#xff0c;以及 MIP 为开发者提供的工具集。 58赶集的工程师提出了以下问题&#xff1a…

Redis(零):背景

什么是NoSQL&#xff0c;什么是Redis&#xff0c;我们在了解这个系列之前&#xff0c;先来看一下Redis是从何而来&#xff1f;Why redis is needed? 1、单机MySQL年代 在最早的单机MySQL年代&#xff0c;存在着访问量小&#xff0c;单个数据库等特点。 但是特有着众多的缺…

Redis(一):什么是NoSQL与NoSQL分类

1、什么是NoSQL NoSQL Not only SQL (不仅是SQL)&#xff0c;即泛指非关系型数据库。随着Web2.0时代诞生&#xff01;NoSQL在当今大数据的环境下发展十分迅速&#xff01; NoSQL 是一项全新的数据库革命性运动&#xff0c;早期就有人提出&#xff0c;发展至2009年趋势越发高涨…

MIP 内容声明

从搜索结果页点出的 MIP 页面&#xff0c;其页面上的任何内容&#xff08;包括但不限于广告、在线咨询、统计等组件&#xff09;均视为在原站点上的投放和使用。 MIP &#xff08;Mobile Instant Pages - 移动网页加速器&#xff09;, 是一套应用于移动网页的开放性技术标准。…

Redis(二):Redis入门与性能测试

1、Redis概述 Redis是什么&#xff1a; Redis&#xff08;Remote Dictionary Server )&#xff0c;即远程字典服务&#xff0c;是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库&#xff0c;并提供多种语言的API。 免费开源&#xf…

互联网的发展背离了其初衷吗?

作者 | 高磊 编辑 | 尾尾 一、互联网初衷究竟是什么&#xff1f; 互联网的初衷究竟是什么&#xff1f; 对于这个问题&#xff0c;被誉为“互联网之父”的蒂姆伯纳斯李&#xff08;Tim Berners-Lee&#xff09;应该最有发言权。 伯纳斯李认为&#xff0c;互联网最具价值的地…

Redis(三):Redis基础知识与常用命令

1、基础命令 Redis默认有16个数据库&#xff0c;用的是第0个数据库&#xff0c;可以使用select进行切换数据库&#xff0c;使用DBSIZE查看DB大小&#xff08;只针对当前数据库&#xff09;。 使用keys * 查看当前数据库下所有的key&#xff0c;使用flushdb清除当前数据库&am…

移动Web加速技术月报第1期

作者 | Brilliant Open Web团队breezet、JennyL 编辑 | 尾尾 为推进Web技术的发展&#xff0c;Brilliant Open Web 团队特推出每月一期的《移动Web加速技术月报》&#xff0c;该月报将整理较流行的移动Web加速技术&#xff0c;并跟进各项技术的进展和发展方向&#xff0c;以期…

Redis(四):String字符串数据类型详解

Redis 字符串数据类型的相关命令用于管理 redis 字符串值&#xff0c;基本语法如下&#xff1a; redis 127.0.0.1:6379> COMMAND KEY_NAME1、String类型的常用命令 1.1、set、get SET key v//设置key值为v get key //获取key值1.2、Append APPEND key "hi" //…

五个案例简述Web设计原则:通用一致

作者 | 百度搜索用户体验中心 《Web设计指南》分为设计原则、基础规范两方面主要内容&#xff0c;同时会提供相应的实际案例及资源下载。欢迎关注OpenWeb开发者&#xff0c;订阅《Web设计指南》。 前言 《Web设计指南》是专门为广大Web内容生态提供一套简单实用的设计指南&a…

Redis(五):List集合数据类型详解

Redis列表是简单的字符串列表&#xff0c;按照插入顺序排序。你可以添加一个元素到列表的头部&#xff08;左边&#xff09;或者尾部&#xff08;右边&#xff09; 一个列表最多可以包含 232 - 1 个元素 (4294967295, 每个列表超过40亿个元素)。 实例&#xff1a; redis 127…

WebP 在减少图片体积和流量上的效果如何?WebP 技术实践分享

作者 | Jackson 编辑 | 尾尾 不论是 PC 还是移动端&#xff0c;图片一直占据着页面流量的大头&#xff0c;在图片的大小和质量之间如何权衡&#xff0c;成为了长期困扰开发者们的问题。而 WebP技术的出现&#xff0c;为解决该问题提供了好的方案。本文将为大家详细介绍 WebP 技…

Redis(六):Set集合数据类型详解

Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的&#xff0c;这就意味着集合中不能出现重复的数据。 Redis 中集合是通过哈希表实现的&#xff0c;所以添加&#xff0c;删除&#xff0c;查找的复杂度都是 O(1)。 集合中最大的成员数为 232 - 1 (4294967295, 每个集…

百度主任架构师谭待:如何让不带团队的程序员负责重大项目?

演讲 | 谭待 整理 | 赵新龙、尾尾 谭待&#xff0c;百度主任架构师、百度搜索公司技术委员会联席主席。主要研究领域在分布式系统和搜索引擎&#xff0c;是百度BVC代理计算和Matrix私有云的主要设计者&#xff0c;两获百度最高奖。主持设计了百度新一代搜索架构&#xff0c;在…

Redis(七):Hash哈希数据类型详解

Redis hash 是一个 string 类型的 field 和 value 的映射表&#xff0c;hash 特别适合用于存储对象。 Redis 中每个 hash 可以存储 232 - 1 键值对&#xff08;40多亿&#xff09;。 实例&#xff1a; 127.0.0.1:6379> HMSET runoobkey name "redis tutorial"…

Chrome Dev Summit 2017参会笔记

作者 | 高磊 编辑 | 尾尾 为期两天的 Chrome Dev Summit 2017 于 10月23日~24日在美国旧金山举办。由于我们近期和Google的合作较多&#xff0c;对Google的动作也比较关注&#xff0c;所以受邀参加了这次的Chrome Dev Summit &#xff08;CDS&#xff09;。本文是我在现场做的…

Redis(八):Zset有序集合数据类型详解

Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。 不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。 有序集合的成员是唯一的,但分数(score)却可以重复。 集合是通过哈希表实现的&#xff0c;…