微服务技术系列教程(01) - SpringBoot - 入门

代码已上传至Github,有兴趣的同学可以下载来看看:https://github.com/ylw-github/SpringBoot-HellWorld

1. SpringBoot简介

Spring Boot 可以让我们的Spring应用变的更轻量化。比如:你可以仅仅依靠一个Java类来运行一个Spring引用。你也可以打包你的应用为jar并通过使用java -jar来运行你的Spring Web应用。

Spring Boot优点:

  • 为所有Spring开发者更快的入门
  • 开箱即用,提供各种默认配置来简化项目配置
  • 内嵌式容器简化Web项目
  • 没有冗余代码生成和XML配置的要求

SpringBoot的系统要求:

  • Java1.8及以上
  • Spring Framework 4.1.5及以上

SpringBoot和SpringMVC区别:

SpringBoot 是一个快速开发的框架,能够快速的整合第三方框架,简化XML配置,全部采用注解形式,内置Tomcat容器,帮助开发者能够实现快速开发,SpringBoot的Web组件默认集成的是SpringMVC框架(SpringMVC是控制层)。

SpringBoot和SpringCloud区别:

SpringCloud依赖于SpringBoot组件,使用SpringMVC编写HTTP协议接口,同时SpringCloud是一套完整的微服务解决框架。

2. 快速入门

1.创建一个Maven工程(File -> new -> Project…)

微服务技术系列教程(01) - SpringBoot - 入门_第1张图片
组织名、包名 -> next
微服务技术系列教程(01) - SpringBoot - 入门_第2张图片
项目名 -> next
在这里插入图片描述
2.添加Maven依赖:


<dependency>
    <groupId>org.springframework.bootgroupId>
    <artifactId>spring-boot-starter-webartifactId>
    <version>2.1.3.RELEASEversion>
dependency>

3.编写HelloWorld:

package com.ylw.springboot;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@EnableAutoConfiguration
public class HelloController {

    @RequestMapping("/hello")
    public String index() {
        return "Hello World";
    }

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

4.启动主程序:
打开浏览器访问http://localhost:8080/index,可以看到页面输出Hello World
微服务技术系列教程(01) - SpringBoot - 入门_第3张图片
微服务技术系列教程(01) - SpringBoot - 入门_第4张图片

3. SpringBoot启动方式

先看看第一种方式,其中默认端口号为8080:

package com.ylw.springboot;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@EnableAutoConfiguration
public class HelloController {

    @RequestMapping("/hello")
    public String index() {
        return "Hello World";
    }

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

第二种方式:

package com.ylw.springboot;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.context.annotation.ComponentScan;

@ComponentScan("com.ylw")
@EnableAutoConfiguration
public class App {

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

@SpringBootApplication 被 @Configuration、@EnableAutoConfiguration、@ComponentScan 注解所修饰,换言之 Springboot 提供了统一的注解来替代以上三个注解扫包范围,在启动类上加上@SpringBootApplication注解,当前包下或者子包下所有的类都可以扫到。

3.其它

@RestController:在上加上RestController 表示修饰该Controller所有的方法返回JSON格式,直接可以编写
Restful接口

@EnableAutoConfiguration:作用在于让 Spring Boot 根据应用所声明的依赖来对 Spring 框架进行自动配置,这个注解告诉Spring Boot根据添加的jar依赖猜测你想如何配置Spring。由于spring-boot-starter-web添加了Tomcat和Spring MVC,所以auto-configuration将假定你正在开发一个web应用并相应地对Spring进行设置。

SpringApplication.run(HelloController.class, args):标识为启动类。

总结

微服务技术系列教程(01) - SpringBoot - 入门_第5张图片

你可能感兴趣的:(#,微服务技术)