SpringBoot简介和入门

一.Spring Boot 入门

1.SpringBoot简介

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

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

J2EE开发的一站式解决方案

2.微服务

2014,martin fowler

微服务:一种架构风格

一个应用应该是一组小型服务,可以通过HTTP的方式进行互通;

单体应用:All IN ONE

微服务:每一个功能元素最终都是一个可独立替换和独立升级的软件单元;

3.导入的依赖解析

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

spring-boot-starter-web:

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

SpringBoot将所有的功能场景都抽取出来,做成了一个个的starters(启动器),只需要在项目里面引入这些starter相关场景的所有依赖都会绕入进来。要用什么功能就导入什么场景的启动器[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RjvK3abU-1582210028965)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1582183110951.png)]

4.主程序类 主入口类

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

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

@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(excludeFilters = {
    @Filter(type = FilterType.CUSTOM,classes = {TypeExcludeFilter.class}),
    @Filter(type = FilterType.CUSTOM,classes={AutoConfigurationExcludeFilter.class})
})
public @interface SpringBootApplication {}

@SpringBootConfiguration:SpringBoot的配置类:

​ 标注在某个类上面,表示这是一个SpringBoot的配置类;

​ @Configuration:配置类上标注这个注解:配置类 ---- 配置文件;配置类也是容器中的一个组件;@Component

@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Configuration
public @interface SpringBootConfiguration {
}
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Component
public @interface Configuration {    
    @AliasFor(annotation = Component.class)    
    String value() default "";
}

@EnableAutoConfiguration:开启自动配置功能

​ 以前我们需要配置的东西,SpringBoot帮助我们配置;需要加上**@EnableAutoConfiguration**会告诉SpringBoot开启自动配置功能,这样自动配置才能生效。

@AutoConfigurationPackage
@Import({AutoConfigurationImportSelector.class})
public @interface EnableAutoConfiguration {}

@AutoConfigurationPackage:自动配置包,进入源码可以查看出

@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@Import({Registrar.class})
public @interface AutoConfigurationPackage {
}

​ Spring的底层注解@Improt,给容器中导入一个组件;导入的组件由AutoConfigurationPackages.Registrar.class来指定;

将主配置类(@SpringBootApplecation标注的类)的所在包及下面所有子包里面的所有组件扫描到Spring容器中;

@Import({AutoConfigurationImportSelector.class}):

​ 给容器导入组件?

​ AutoConfigurationImportSelector:导入哪些组件的选择器;

​ 将所有需要导入的组件以全类名的方式返回;这些组件就会被添加到容器中;

​ 会给容器中导入非常多的自动配置类(xxxAutoConfiguration);就是给容器中导入这个场景需要的所有组件,并配置好这些组件;[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mxsrto8i-1582210028966)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1582202905119.png)]

​ 有了自动配置类,免去了我们手动编写配置注入功能组件等的工作;

//在AutoConfigurationImportSelector类中使用getCandidateConfigurations获取候选的配置文件
protected List<String> getCandidateConfigurations(AnnotationMetadata metadata, AnnotationAttributes attributes) {
        List<String> configurations = SpringFactoriesLoader.loadFactoryNames(EnableAutoConfiguration.class, this.getBeanClassLoader());
    }

​ SpringBoot在启动的时候,从类路径下META-INF/spring.factories中获取EnableAutoConfiguration指定的值,将这些纸作为自动配置类导入到容器中,自动配置类就会生效,帮助我们进行自动配置工作;SSM之前的繁重配置工作,SpringBoot都以类(@Bean)的形势进行了配置(jar:spring-boot-autoconfigure)

J2EE的整体整合及决方案和自动配置都在上述Jar包中

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot 是一个基于 Spring 框架的开发框架,它简化了 Spring 应用程序的开发和部署。它提供了一种快速开发的方式,可以帮助开发人员更加专注于业务逻辑的实现,而不是过多地关注底层框架的细节。 以下是 Spring Boot 零基础入门的步骤: 1. 安装 Java 开发环境:在开始学习 Spring Boot 之前,需要先安装 Java 开发环境。可以从官网下载 Java SE 开发工具包 (JDK)。 2. 下载并安装 Spring Boot:可以从 Spring 官方网站下载 Spring Boot,并按照官方文档安装。 3. 创建一个 Spring Boot 应用程序:可以使用 Spring Boot CLI 命令行工具创建一个新的 Spring Boot 应用程序。在命令行中输入以下命令即可创建一个新的 Spring Boot 应用程序: ``` spring init --dependencies=web my-spring-boot-app ``` 这个命令会创建一个名为“my-spring-boot-app”的新应用程序,并添加一个“web”依赖。这个依赖包含了 Spring MVC 和 Tomcat 服务器,可以用于创建 Web 应用程序。 4. 编写代码:使用你喜欢的代码编辑器打开创建的 Spring Boot 应用程序,并编写代码。在这里,可以使用 Spring Boot 提供的自动配置功能来简化应用程序的开发。 5. 运行应用程序:在命令行中输入以下命令,即可运行应用程序: ``` cd my-spring-boot-app ./mvnw spring-boot:run ``` 这个命令会启动应用程序,并在浏览器中打开它。 6. 学习 Spring Boot 的核心功能:学习 Spring Boot 的核心功能可以帮助你更好地理解 Spring Boot 的工作原理,以及如何使用它来构建更加复杂的应用程序。可以通过阅读官方文档、参加在线课程或者参考书籍来学习 Spring Boot 的核心功能。 以上是 Spring Boot 零基础入门的步骤,希望对你有帮助。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值