第一天,熟悉spring boot,并使用spring boot创建一个应用。
Spring Boot是Spring团队推出的新框架,它所使用的核心技术还是Spring框架,主要是Spring 4.x,所以如果熟悉spring 4的人,能够更快的接受和学会这个框架。Spring boot可以看做是在spring框架基础上再包了一层,这一层包含方便开发者进行配置管理和快速开发的模块,以及提供了一些开箱即用的工具,比如监控等。
Spring Boot官方文档有中文翻译版:
https://github.com/qibaoguang/Spring-Boot-Reference-Guide
要实现一个spring boot开发环境和传统的应用没有区别,这里用的是:
IDE:myeclipse 10
JDK:jdk1.7
WINDOWS:mvn 3
在桌面windows环境里需要单独安装方便我们使用命令行进行打包和操作。Eclipse环境里也需要安装mvn插件,当然如果使用的是myeclipse,那么自带的mvn环境就足够了。以下是建立spring boot helloworld应用的步骤。注意这是一个web应用,使用了嵌入式的tomcat。
1) 首选建立一个最简单的maven工程,如下图:
这个应用只有一个类,编写代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
package cloud.simple.hello;
import org.springframework.boot.*;
import org.springframework.boot.autoconfigure.*;
import org.springframework.stereotype.*;
import org.springframework.web.bind.annotation.*;
@Controller
@SpringBootApplication
public class SampleController
{
@ResponseBody
@RequestMapping (value
= "/" )
String
home() {
return "Hello
World!" ;
}
public static void main(String[]
args) throws Exception
{
SpringApplication.run(SampleController. class ,
args);
}
}
|
@SpringBootApplication相当于@Configuration、@EnableAutoConfiguration和 @ComponentScan,你也可以同时使用这3个注解。其中@Configuration、@ComponentScan是spring框架的语法,在spring 3.x就有了,用于代码方式创建配置信息和扫描包。@EnableAutoConfiguration是spring boot语法,表示将使用自动配置。你如果下载了spring boot源码,就会看到spring boot实现了很多starter应用,这些starter就是一些配置信息(有点类似于docker,一组环境一种应用的概念),spring
boot看到引入的starter包,就可以计算如果自动配置你的应用。
2) 配置pom.xml
这个应用不需要配置文件,写完class后就可以直接配置pom.xml文件了,当然先配置pom.xml也一样。Pom文件配置如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
< project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
< modelVersion >4.0.0</ modelVersion >
< parent >
< groupId >org.springframework.boot</ groupId >
< artifactId >spring-boot-starter-parent</ artifactId >
< version >1.3.1.RELEASE</ version >
</ parent >
< groupId >spring.boot</ groupId >
< artifactId >cloud-simple-helloword</ artifactId >
< version >0.0.1</ version >
< packaging >jar</ packaging >
< name >cloud-simple-helloword</ name >
< dependencies >
< dependency >
< groupId >org.springframework.boot</ groupId >
< artifactId >spring-boot-starter-web</ artifactId >
</ dependency >
</ dependencies >
< build >
< plugins >
< plugin >
< groupId >org.springframework.boot</ groupId >
< artifactId >spring-boot-maven-plugin</ artifactId >
</ plugin >
</ plugins >
</ build >
</ project >
|
pom文件配置完,你就可以运行应用了,点击F11,或者在SampleController类右键“Run Java Application”就可以看到应用启动并运行了。
此时在浏览器输入http://localhost:8080/,你会看到helloworld字样,这是一个web应用,使用了嵌入式的tomcat。
在pom配置中我们仅仅使用了spring-boot-starter-web依赖,spring boot会根据此依赖下载相关jar包并初始化基本的运行环境,比如说绑定端口8080等。
spring boot封装所有配置信息为键值类型,你想改变默认配置,只需要向应用传入这个键值对就可以,比如我们想改变绑定端口为8081,那么你在main方法里传入“—server.port=8081”即可,或者干脆使用:
SpringApplication.run(SampleController.class, "--server.port=8081");
3) 部署spring boot应用
要部署运行spring boot应用,首选要打包spring boot应用,你在pom文件中看到的spring-boot-maven-plugin插件就是打包spring boot应用的。
进入工程目录运行mvn package,如:
D:\cloud-simple-helloword>mvn package
打包过后就可以进入target目录使用java原生命令执行这个应用了。
D:\cloud-simple-helloword\target>java -jar cloud-simple-helloword-0.0.1.jar --server.port=8081
如此,你就看到一个基于jar包的web应用启动了。
Spring boot提供的一些开箱即用的应用非常容易使用,比如监控,你只需要在pom文件中引入:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
引入之后,spring boot是默认开启监控的,运行应用你可以在浏览器中输入:
http://localhost:8080/health
就可以看到默认的监控信息了:
{"status":"UP","diskSpace":{"status":"UP","total":161067397120,"free":91618398208,"threshold":10485760}}
信息包括程序执行状态以及基本的磁盘信息。
分享到:
相关推荐
第一天:初识Spring Cloud 1. Spring Cloud概述:了解Spring Cloud的发展背景,理解其在微服务架构中的地位和作用。 2. Eureka服务注册与发现:学习如何使用Eureka实现服务的注册与发现,理解服务注册与发现的重要性...
在微服务架构的世界中,Spring Cloud 是一个广泛使用的框架,它提供了全面的工具和服务治理解决方案。Spring Cloud Eureka 是其中的一个核心组件,主要负责服务注册与发现。理解Eureka的工作流程对于构建可靠的...
在本篇【SpringCloud学习第一天,helloWorld】的教程中,我们将初步接触并了解Spring Cloud这一微服务框架,以及如何创建一个基本的“Hello, World”应用。首先,我们需要理解Spring Cloud的核心概念和作用。 ...
总结来说,"springcloud_weather"项目是一个典型的SpringCloud微服务示例,它展示了如何利用SpringCloud组件构建一个完整的天气预报服务系统,包括服务接口定义、服务实现、配置管理、服务注册与发现、API网关等功能...
乐优商城19天(全)项目笔记是一个全面记录了基于SpringCloud微服务架构的电商平台开发过程的学习资源。这份笔记涵盖了从项目初始化到系统完善的所有关键环节,旨在帮助开发者深入理解SpringBoot、SpringCloud和Vue.js...
首先,SpringCloud是基于Spring Boot实现的一套微服务框架,它提供了诸如服务发现、负载均衡、断路器、API网关等众多功能,帮助开发者快速构建分布式系统。在SpringCloud中,Eureka是最常用的注册中心,但随着Nacos...
在本文中,我们将深入探讨Spring Cloud,这是一个广泛使用的微服务框架,它为开发人员提供了构建分布式系统所需的工具和服务发现、负载均衡、断路器、API网关等关键功能。我们将根据给定的文件名,从第一天到第三天...
《Spring Cloud基础入门:日程第一天》 Spring Cloud作为一个微服务开发框架,是Java开发者实现分布式系统服务治理的重要工具。本文将围绕“day01-SpringCloud01”这一主题,详细阐述Spring Cloud的基础概念、核心...
第一天:Spring基础 1. Spring概述:了解Spring框架的历史、特点以及在企业级应用中的地位。 2. IoC容器:学习Spring如何通过IoC管理对象的生命周期和依赖关系,理解BeanFactory和ApplicationContext的区别。 3. ...
书中《Spring技术内幕:深入解析Spring架构与设计原理(第2版)》很可能详细分析了Spring的IoC容器、AOP实现、事务管理、MVC框架以及Spring Boot和Spring Cloud的相关内容。它可能会从源码角度出发,帮助读者理解...
文件"day02"可能包含更具体的整合示例或者第二天的学习内容,这可能涵盖了Spring与特定技术的实战整合,例如Spring Boot与Docker的整合,或者Spring Cloud与Netflix OSS组件的使用。 总之,Spring整合涵盖了许多...
在这个压缩包中,可能包含了第一天学习Spring时需要掌握的基本概念和实践操作。下面将详细阐述Spring框架的核心知识点及其优势。 1. **IoC(Inversion of Control,控制反转)**:Spring框架的核心特性之一,它通过...
在Spring培训的第三天,我们将会深入探讨Spring框架的核心特性,以及如何在实际开发中有效应用这些知识。Spring是Java企业级应用中最广泛使用的轻量级框架,它提供了丰富的功能来简化开发流程,包括依赖注入(DI)、...
标题中的"spring_day05_spring_"表明这是一个关于Spring框架的学习资源,可能是一个课程或教程的第五天内容,重点在于深入理解Spring的核心概念和技术。描述中的"heima spring source code day 05"暗示我们这天的...
同时,随着Spring Boot和Spring Cloud的流行,SSM框架在现代微服务架构中的地位也逐渐被替代,但其核心思想和设计理念仍然在新的框架中得到延续和发扬。因此,理解并掌握SSM框架对于任何Java开发者来说都是至关重要...
- 学习SpringBoot不仅限于基本功能,还包括理解SpringCloud微服务架构、Redis缓存、Elasticsearch搜索引擎等高级技术。 - 掌握前后端分离项目意味着你需要了解RESTful API设计、状态管理和前端框架如Vue.js或React...
Spring框架还包含了大量其他模块,例如Spring Security用于身份验证和授权,Spring Boot用于快速搭建微服务应用,Spring Data简化了对各种数据存储的访问,以及Spring Cloud为分布式系统提供了工具集。 总的来说,...
本文将深入探讨“passcloud”这一开源电商微服务框架的源码,结合描述中的信息,我们可以了解到这个项目在添加了第三方包后,不仅消除了编译错误,还能成功运行。我们将从源码结构、第三方包的作用以及如何适用于...
本"day01笔记.rar"压缩包包含了第一天学习乐优商城项目开发的相关资料,是Spring Cloud乐优商城19天系列教程的组成部分,配合了详细的笔记,帮助学习者逐步掌握该项目的构建过程。 在Spring Cloud框架下,乐优商城...
蚂蚁课堂(每特学院)第一期-Java高端培训视频...微信公众号开发项目 │ ├─-微信公众号开发-第一天(初始微信公众号开发).zip │ ├─-第三天(微信公众号开发总结).zip │ ├─-第二天(使用微信框架开发微信公众号).zip