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

简介: 微服务技术系列教程(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…)

组织名、包名 -> next

项目名 -> next

2.添加Maven依赖:

<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-web -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <version>2.1.3.RELEASE</version>
</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

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):标识为启动类。

总结

目录
相关文章
|
1天前
|
弹性计算 运维 Kubernetes
探索后端开发的未来:微服务架构与容器化技术
在数字化时代的浪潮中,后端开发正经历着前所未有的变革。微服务架构的兴起和容器化技术的普及,不仅重新定义了软件的开发、部署和管理方式,还为后端开发带来了新的挑战和机遇。本文将深入探讨微服务架构和容器化技术如何影响后端开发的未来,通过数据支撑和逻辑推理,揭示这些技术趋势背后的科学原理和实际应用价值。
|
5天前
|
存储 NoSQL Java
教程:Spring Boot与RocksDB本地存储的整合方法
教程:Spring Boot与RocksDB本地存储的整合方法
|
2天前
|
Java 索引 Spring
教程:Spring Boot中集成Elasticsearch的步骤
教程:Spring Boot中集成Elasticsearch的步骤
|
2天前
|
Java API Spring
教程:Spring Boot中如何集成GraphQL
教程:Spring Boot中如何集成GraphQL
|
2天前
|
缓存 Java Spring
教程:Spring Boot中集成Memcached的详细步骤
教程:Spring Boot中集成Memcached的详细步骤
|
4天前
|
Kubernetes Cloud Native Docker
云原生技术演进之路:从微服务到容器化
在数字化浪潮的推动下,云原生技术不断演进,为现代软件开发带来革命性变化。本文将深入探讨云原生技术的核心要素—微服务和容器化,揭示它们如何促进软件的快速迭代、可扩展性和可靠性提升。通过分析相关数据和案例研究,我们旨在阐明云原生技术在加速企业数字化转型中的关键作用。
|
4天前
|
Kubernetes Java 微服务
使用Spring Boot构建微服务架构
使用Spring Boot构建微服务架构
|
5天前
|
JSON Java Spring
实战SpringCloud响应式微服务系列教程(第八章)构建响应式RESTful服务
实战SpringCloud响应式微服务系列教程(第八章)构建响应式RESTful服务
|
1天前
|
JavaScript Java 测试技术
基于SpringBoot+Vue的房地产销售管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue的房地产销售管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
18 8
|
1天前
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的房地产销售管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的房地产销售管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
17 7