文档章节

spring boot 创建第一个

逝去的回忆
 逝去的回忆
发布于 2017/02/17 17:47
字数 1070
阅读 47
收藏 0
点赞 0
评论 0

  首先,熟悉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工程,如下图:

 

  这个应用只有一个类(启动),编写代码如下:

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文件配置如下:

  

<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>
	<!-- spring boot基本环境 -->
	<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>
		<!--web应用基本环境配置 -->
		<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}}

  信息包括程序执行状态以及基本的磁盘信息。

本文转载自:http://www.cnblogs.com/skyblog/p/5127712.html

共有 人打赏支持
逝去的回忆
粉丝 12
博文 132
码字总数 219842
作品 0
深圳
高级程序员
spring boot 1.5.4 入门和原理(二)

1 spring boot入门 1.1 环境准备 JDK 7及以上 eclipse开发工具 项目管理工具Maven 本文采用、RELEASE(或1.5.2.RELEASE)调试通过。 spring-boot相关项目源码, 码云地址:https://git.oschi...

wyait ⋅ 2017/09/18 ⋅ 0

Spring Boot 2.0 新特性解读

点击上方“程序员小灰”,选择“置顶公众号” 有趣有内涵的文章第一时间送达! 本文转载自公众号 InfoQ 作者|翟永超编辑|郭蕾Spring Boot 2.0 来啦,有哪些新特性?升级吗?写在前面 北京时...

bjweimengshu ⋅ 04/13 ⋅ 0

spring boot 2.0 源码分析(二)

在上一章学习了spring boot 2.0启动的大概流程以后,今天我们来深挖一下SpringApplication实例变量的run函数。 先把这段run函数的代码贴出来:

java高级架构牛人 ⋅ 06/05 ⋅ 0

小白用IntelliJ IDEA无脑搭建Spring Boot工程

这里不讲解什么是spring,什么是spring boot。只需要知道这是一个目前比较流行的java后端框架,而作为入门者,前期只需要依葫芦画瓢,利用idea搭建spring boot 的hello world工程。 01 Intel...

Sunny玄子 ⋅ 05/20 ⋅ 0

使用IDE或者向导工具迅速构建一个Spring Boot应用

第一篇简单的内容我们通过敲代码的方式构建了一个Spring Boot应用。 但在实际工作中,应该没有多少人能记住这已经不算太多的模板代码了。 这里介绍一些开发Spring Boot的利器,可以很有效的提...

虾游于海 ⋅ 06/16 ⋅ 0

Spring boot中mongodb的使用

mongodb的增删改查 Spring Boot对各种流行的数据源都进行了封装,当然也包括了mongodb,下面给大家介绍如何在spring boot中使用mongodb: 1、pom包配置 pom包里面添加spring-boot-starter-dat...

glen_xu ⋅ 06/11 ⋅ 0

Spring Boot魔法的背后

Spring Boot的魔法 Spring Boot是一个基于Spring的框架,遵循“约定胜于配置”的理念,提供一套方便的方法来快速创建可执行的Spring应用。具体来说,以往我们开发一个Java Web端或服务端程序...

jacobwu ⋅ 05/10 ⋅ 0

Spring Boot 2.0(七):Spring Boot 如何解决项目启动时初始化资源

在我们实际工作中,总会遇到这样需求,在项目启动的时候需要做一些初始化的操作,比如初始化线程池,提前加载好加密证书等。今天就给大家介绍一个 Spring Boot 神器,专门帮助大家解决项目启...

纯洁的微笑 ⋅ 05/03 ⋅ 0

Spring Initializr 构建Spring Boot/Cloud工程

在之前的所有Spring Boot和Spring Cloud相关博文中,都会涉及Spring Boot工程的创建。而创建的方式多种多样,我们可以通过Maven来手工构建或是通过脚手架等方式快速搭建,也可以通过《Sprin...

明理萝 ⋅ 前天 ⋅ 0

第一个Spring Boot应用

在JavaEE的领域,Spring可以说是占据了半壁江山。但Spring各种复杂的XML配置一直被开发者诟病。 Pivotal在2014年4月发布了SpringBoot的1.0版,到现在已经有3个年头了。其实也不是新东西了。 ...

虾游于海 ⋅ 2017/01/23 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

6. Shell 函数 和 定向输出

Shell 常用函数 简洁:目前没怎么在Shell 脚本中使用过函数,哈哈,不过,以后可能会用。就像java8的函数式编程,以后获取会用吧,行吧,那咱们简单的看一下具体的使用 Shell函数格式 linux ...

AHUSKY ⋅ 2分钟前 ⋅ 0

MySQL 内核深度优化

MYSQL数据库适用场景广泛,相较于Oracle、DB2性价比更高,Web网站、日志系统、数据仓库等场景都有MYSQL用武之地,但是也存在对于事务性支持不太好(MySQL 5.5版本开始默认引擎才是InnoDB事务...

OSC_cnhwTY ⋅ 9分钟前 ⋅ 0

单片机软件定时器

之前写了一个软件定时器,发现不够优化,和友好,现在重写了 soft_timer.h #ifndef _SOFT_TIMER_H_#define _SOFT_TIMER_H_#include "sys.h"typedef void (*timer_callback_function)(vo...

猎人嘻嘻哈哈的 ⋅ 11分钟前 ⋅ 0

好的资料搜说引擎

鸠摩搜书 简介:鸠摩搜书是一个电子书搜索引擎。它汇集了多个网盘和电子书平台的资源,真所谓大而全。而且它还支持筛选txt,pdf,mobi,epub、azw3格式文件。还显示来自不同网站的资源。对了,...

乔三爷 ⋅ 19分钟前 ⋅ 0

Debian下安装PostgreSQL的表分区插件pg_pathman

先安装基础的编译环境 apt-get install build-essential libssl1.0-dev libkrb5-dev 将pg的bin目录加入环境变量,主要是要使用 pg_config export PATH=$PATH:/usr/lib/postgresql/10/bin 进......

玛雅牛 ⋅ 20分钟前 ⋅ 0

inno安装

#define MyAppName "HoldChipEngin" #define MyAppVersion "1.0" #define MyAppPublisher "Hold Chip, Inc." #define MyAppURL "http://www.holdchip.com/" #define MyAppExeName "HoldChipE......

backtrackx ⋅ 49分钟前 ⋅ 0

Linux(CentOS)下配置php运行环境及nginx解析php

【part1:搭建php环境】 1.选在自己需要安装的安装包版本,wget命令下载到服务器响应目录 http://php.net/releases/ 2.解压安装包 tar zxf php-x.x.x 3.cd到解压目录执行如下操作 cd ../php-...

硅谷课堂 ⋅ 56分钟前 ⋅ 0

Nginx服务架构初探(四):nginx服务器的rewrite功能

nginx服务器的rewrite功能 1.nginx后端服务器组的配置 1>upstream name {…} name是给服务器组限的组名 2>server address [parameters]; address为服务器地址 parame......

余温灬未存 ⋅ 今天 ⋅ 0

layer.prompt使文本框为空的情况下也能点击确定

最近一直在使用layui,但是用到弹出层layer.prompt时,如果文本框是空的话点击确定没有反应,不能向下执行。 但是我又需要空值,看看我原来的代码。 123456789 layer.prompt...

孟飞阳 ⋅ 今天 ⋅ 0

Linux普通文件压缩工具gzip、Bzip2、xz

第六章 文件压缩和打包 6.1 压缩打包介绍 Linux环境常见压缩文件类型: .zip,.gz,.bz2,.xz, .tar.gz,.tar.bz2,.tar.xz 压缩打包的目的 方便文件传输 节省磁盘空间 减少传输花费的时间 ...

弓正 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部