SpringBoot系列01-Hello SpringBoot

Spring Boot 是什么?

Spring BootSpring的子项目,他提供Spring 的引导(Boot )的功能。

通过 Spring Boot ,我们可以快速配置 Spring 项目,引入各种 Spring MVC、Spring Transaction、Spring AOP、MyBatis 等等框架,而无需不断重复编写繁重的 Spring 配置,降低了 Spring 的使用成本。

  • Spring Boot 提供了各种 Starter 启动器,提供标准化的默认配置。
    • spring-boot-starter-web 启动器,可以快速配置 Spring MVC 。
    • mybatis-spring-boot-starter 启动器,可以快速配置 MyBatis 。

Spring Boot 的核心功能

1、独立运行 Spring 项目

Spring Boot 可以以 jar 包形式独立运行,运行一个 Spring Boot 项目只需要通过 java -jar xx.jar 来运行。

2、内嵌 Servlet 容器

Spring Boot 可以选择内嵌 Tomcat、Jetty 或者 Undertow,这样我们无须以 war 包形式部署项目。

3、提供 Starter 简化 Maven 配置

  • Spring 提供了一系列的 starter pom 来简化 Maven 的依赖加载。例如,当你使用了 spring-boot-starter-web ,会自动加入如下依赖:

    
      org.springframework.boot
      spring-boot-starter
      2.0.1.RELEASE
      compile
    
    
      org.springframework.boot
      spring-boot-starter-json
      2.0.1.RELEASE
      compile
    
    
      org.springframework.boot
      spring-boot-starter-tomcat
      2.0.1.RELEASE
      compile
    
    
      org.hibernate.validator
      hibernate-validator
      6.0.9.Final
      compile
    
    
      org.springframework
      spring-web
      5.0.5.RELEASE
      compile
    
    
      org.springframework
      spring-webmvc
      5.0.5.RELEASE
      compile
    
  

4、自动配置 Spring Bean

Spring Boot 检测到特定类的存在,就会针对这个应用做一定的配置,进行自动配置 Bean ,这样会极大地减少我们要使用的配置。
当然,Spring Boot 只考虑大多数的开发场景,并不是所有的场景,若在实际开发中我们需要配置Bean ,而 Spring Boot 没有提供支持,则可以自定义自动配置进行解决。

SpringBoot简单开始

1、新建一个Maven项目
2、在pom.xml中添加一下依赖


        org.springframework.boot
        spring-boot-starter-parent
        2.0.1.RELEASE
         
    

    
        UTF-8
        UTF-8
        1.8
        true
    

    
        
        
            org.springframework.boot
            spring-boot-starter-web
        
        
        
            org.springframework.boot
            spring-boot-starter-test
            test
        
    

    
        
            
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    

3、新建FirstApplication类文件

@SpringBootApplication
@RestController
public class FirstApplication {

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

    //GetMapping相当于:@RequestMapping(method = RequestMethod.GET)
    @GetMapping("/hello")
    public String hello(){
        return "Hello SpringBoot";
    }

    @Bean
    public CommandLineRunner commandLineRunner(ApplicationContext ctx){
        return args -> {
            System.out.println("SpringBoot 默认为我们提供的 Bean:");
            String[] beanNames = ctx.getBeanDefinitionNames();
            Arrays.sort(beanNames);
            // 此处使用java8的stream相关知识
            Arrays.stream(beanNames).forEach(System.out::println);
        };
    }
}

4、右键运行此java类,在浏览器中输入:http://localhost:8080/hello
5、运行结果图如下:
运行结果示意图

你可能感兴趣的:(SpringBoot系列)