springboot入门

本文介绍SpringBoot框架,作为Spring4.0基础上的简化版,它为J2EE开发提供一站式解决方案,尤其适用于微服务架构。文章详细讲解了环境搭建、HelloWorld示例、POM文件解析、启动器使用及主程序类的作用。

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

一、Spring boot 入门

  1. spring boot 简介
    在spring4.0的基础上
    简化spring应用开发的一个框架
    整个spring技术栈的一个大整合
    J2EE开发的一站式解决方案
  2. 微服务
    2014 马丁·福勒 (martin fowler )
    微服务: 架构风格(服务微化)
    一个应用应该是由一组小型服务,可以通过HTTP的方式进行进行互通
    单体应用: ALL IN ONE
    微服务: 每一个功能元素最终都是一个可以独立替换和独立升级的软件单元。
    3.环境准备
    环境
    ​ -JDK: 官方推荐1.7以上,java version “1.8.0_66”
    ​ -maven: 官网规定maven3.3以上, Apache Maven 3.6.1
    ​ -idea: 不做要求,自己顺手就好
    ​ -SpringBoot版本: 2.3.0
  3. Spring Boot Hello World
    业务场景:
    ​ 浏览器发送Hello,服务器接受请求之后并处理,给页面响应Hello World!字符串;

4.1 创建一个maven工程

4.2 导入SpringBoot相关的依赖(jar)
4.3 创建一个主程序类

// springboot的启动程序
public static void main(String[] args) {
    SpringApplication.run(HelloWorldApplication.class,args);
}
}

4.3 编写相关的controller

@ResponseBody
@RequestMapping("hello")
public String hello(){
    return "Hello World!";
}
}

4.4 运行测试
4.5 将项目打成Jar并且运行

<!--  插件作用是把应用打成一个可运行的jar包   -->
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>
  1. Hello World 探究
    5.1 POM 文件
他的父项目 org.springframework.boot spring-boot-dependencies 2.3.0.RELEASE dependencies的作用是用来管理springboot中所有的依赖版本 ````
结论:
​	以后我们导入依赖的时候,默认不加版本号,(dependencies中没有的还是要去声明版本号)
5.2 启动器
xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
spring-boot-starter-web:
spring-boot-starter : springboot的场景启动器,帮我们导入了web模块正常运行的依赖组件
springboot会把所有的功能场景都提取出来,做成一个个的starters(启动器),只需要在下项目中导入自己想要的starter场景启动器,就会把相关的依赖组建都会导入项目中。
5.3 主程序类、最入口类
````java /** * @Author Administrator * @Date 2020/5/19 10:06 * * @SpringBootApplication 代表当前标注一个主程序类,代表是springboot程序 **/ @SpringBootApplication public class HelloWorldApplication {
// springboot的启动程序
public static void main(String[] args) {
    SpringApplication.run(HelloWorldApplication.class,args);
}
}

@SpringBootApplication: 标注在哪一个类上,这个类就是springboot的主程序(配置)类,springboot就是运行这个main去启动springboot应用

@SpringBootConfiguration: springboot的配置类:
​ 标注在哪个类上,那这个类就是springboot的配置类

@Configuration : 标注代表了配置类(配置类上来标注这个注解)
​ 配置类 ---------- 配置文件 : 配置类也是容器中的一个组件@Component
@EnableAutoConfiguration: 开启自动配置功能,
​ 告诉springboot开启自动配置,这时自动那个配置才会生效
java @AutoConfigurationPackage @Import(AutoConfigurationImportSelector.class) public @interface EnableAutoConfiguration {
@AutoConfigurationPackage : 自动配置包
@Import(AutoConfigurationPackages.Registrar.class)
@Import 是spring底层注解,会给容器导入一个组件,导入的组件由AutoConfigurationPackages.Registrar.class去将我们的主配置类(@SpringBootApplication标注的类)下的所在包及包里所有的组件扫描到spring容器中
@Import(AutoConfigurationPackages.Registrar.class)
给容器导入组件…
AutoConfigurationImportSelector : 到入的哪些组件的选择器
​ 会将所需要导入的组件使用全类名的方式返回,这些组件就会被添加到容器中
会给容器中导入很多的自动配置类(xxxxxAutoConfiguration): 会根据我们所需要的场景去导入所有需要的组件,并且配置好这些组件:

有了自动配置类,就会免去我们手动配置注入功来能等工作。
springboot在启动的时候会从类路径下的META-INF/spring.factories中获取@EnableAutoConfiguration所需要的值,会将这些值作为自动配置类导入容器中。自动配置类生效,帮我们进行自动配置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值