Spring Boot-01-HelloWorld

Spring Boot-01-HelloWorld

Spring Boot-01-HelloWorld

一个功能:浏览器发送hello请求,服务器接受请求并处理,响应Hello world字符串

  1. 创建一个maven工程;(jar)
  2. 导入spring boot相关的依赖
	<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.4.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.example</groupId>
    <artifactId>demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>demo</name>
    <description>Demo project for Spring Boot</description>

    <properties>
        <java.version>1.8</java.version>
    </properties>

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

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>

    <!--这个插件可以将应用打包成一个可执行的jar包-->
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

  1. 编写一个主程序,启动Spring Boot应用
		/*
		@SpringBootApplication 来标注一个主程序类,说明这是一个Spring boot应用
		 */
		@SpringBootApplication
		public class HelloWorldMainApplication {
		    public static void main(String[] args) {
		        // spring 应用启动起来
		        SpringApplication.run(HelloWorldMainApplication.class,args);
		    }
		}

  1. 编写相关的Controller、Service
		@Controller
		public class HelloController {
		    @ResponseBody
		    @RequestMapping("/hello")
		    public String hello(){
		        return "Hello World!";
		    }
		}
  1. 运行主程序测试 hello world 探究

1. POM文件

1. 父项目

<parent>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-parent</artifactId>
   <version>2.2.4.RELEASE</version>
   <relativePath/> <!-- lookup parent from repository -->
</parent>

他的父项目是<parent>…</parent>
他来真正管理Spring Boot应用里面的所有依赖版本;

2. 启动器

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

spring-boot-starter-web
Spring-boot-starter: spring-boot场景启动器,帮我们导入了web模块正常运行所依赖的组件;
Spring boot将所有的功能场景都抽取出来,坐成一个个的starters(启动器),只需要在项目里引入这些starter相关场景的所有依赖都会导入进来。要用什么功能就导入什么场景的启动器。

2. 主程序类,主入口类

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/*
@SpringBootApplication 来标注一个主程序类,说明这是一个Spring boot应用
 */
@SpringBootApplication
public class HelloWorldMainApplication {
    public static void main(String[] args) {
        // spring 应用启动起来
        SpringApplication.run(HelloWorldMainApplication.class,args);
    }
}

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

  • @SpringBootConfiguration: Spring Boot的配置类;

标注在某个类上,表示这是一个Spring Boot的配置类;
@configuration:配置类上来标注这个注解;
配置类----配置文件;配置文件也是容器中的一个组件;@component

  • @EnableAutoConfiguration:开启自动配置功能;

    以前我们需要配置的东西,现在Spring Boot帮我们自动配置;

@AutoConfigurationPackage:自动配置包
@import(AutoConfigurationPackage.Register.class):Spring的底层注解@import,给容器中导入一个组件;导入的组件由AutoConfigurationPackage.Register.class;
将主配置类(@SpringBootApplication标注的类)的所在包及下面所有的子包里面的所有组件扫描到Spring容器;
会给容器中导入非常多的自动配置类(xxxAutoConfiguration)

  1. 简化部署
    在这里插入图片描述
发布了2 篇原创文章 · 获赞 1 · 访问量 38

猜你喜欢

转载自blog.csdn.net/qq_36409228/article/details/104127884
今日推荐