一、Spring Boot 入门

1、Spring Boot 简介

简化 Spring 应用开发的一个框架

整个 Spring 技术栈的一个大整合

J2EE 开发的一战式解决方案




2、微服务简介

2014,martin fowler

微服务:架构风格

一个应用应该是一组小型服务,可以通过 HTTP 的方式进行互通

单体应用:ALL IN ONE

每一个功能元素最终都是一个可独立替换和独立升级的软件单元!

详细参照微服务文档




3、环境准备

  • JDK 1.8 及以上
  • maven 3.x
  • Spring Boot 1.5.9.RELEASE
  • IDEA



4、Spring Boot HelloWorld

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

(1)创建一个 maven 工程


(2)导入 Spring Boot 相关依赖

<parent>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-parent</artifactId>
	<version>1.5.9.RELEASE</version>
</parent>

<!-- 导入 Spring Boot 相关依赖 -->
<dependencies>
	<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-web -->
	<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-web</artifactId>
	</dependency>
</dependencies>

(3)编写一个主程序应用,启动 Spring Boot 应用

package com.yanghui;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

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

(4)编写 Controller

package com.yanghui.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

/**
 * @author YH
 */
@Controller
public class HelloController {

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


注意: Controller 必须要放在和启动类同包或者子包下面,否则会无法扫描到 Controller ,因为 Spring Boot 默认是只扫描同包以及子包的!




5、运行主程序开始测试

(1)运行主程序

在这里插入图片描述


(2)打开浏览器输入 URL 进行测试

在这里插入图片描述




6、简化部署

Spring Boot 可以直接将应用打成 jar 包,直接以 java -jar 的命令执行 jar 包!


(1)在 pom.xml 中导入插件

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

(2)使用 maven 自带的功能

在这里插入图片描述


(3)运行结果

在这里插入图片描述




7、HelloWorld 探究

(1)父项目

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


结论:spring‐boot‐dependencies 才是真正管理 Spring Boot 应用里面的所有依赖版本的,以后我们导入依赖默认不需要写版本(当然,没有在里面声明的依赖自然还是需要写的)!


(2)启动器

<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-web -->
<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-web</artifactId>
</dependency>

Spring Boot 将所有的功能场景都抽取出来,做成一个一个的 starters (启动器),只需要在项目中引入这些 starter ,相关场景的所有依赖都会导入进来,要用什么功能就导入什么场景的启动器。


(3)主程序类

package com.yanghui;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

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


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


我们点进 @SpringBootApplication 这个注解里面去:

在这里插入图片描述


  • SpringBootConfiguration:标注在某个类上,表示这是一个 Spring Boot配置类。注意:配置类也是 Spring Boot 中的一个组件,分析源码就可以看见标注了 @Component 这个注解。

  • @EnableAutoConfiguration开启自动配置功能,以前我们需要配置的东西,Spring Boot 帮我们自动配置,@EnableAutoConfiguration 这个注解告诉 Spring Boot 开启自动配置功能,这样自动配置才能生效。
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值