spring boot 2.0之基础入门

spring boot介绍

spring boot为创建基于spring的应用提供了方便,不需要太多的配置,只需要很少的代码就可以实现。其也提供了对于普通java应用程序的支持以及传统的war应用支持。其主要目标:

 1. 为spring开发提供快速的开发。

 2. 对于一些不确定的需求能够先放在一边防止偏离。 

 3. 提供了很多非功能特性(例如内置服务器,安全机制,健康检查,外部配置)。

 4. 避免尽量少的代码以及配置。

系统条件

1. JDK 1.8以上

2. spring 5.0.2以上

3. maven 3.2以上

4. servlet3.0+

spring boot的安装

spring boot的依赖使用groupId:org.springframework.boot ,POM文件必须继承spring-boot-starter-parent它并且声 明至少拥有至少拥有一个或多个starter:代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<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>

	<groupId>com.example</groupId>
	<artifactId>myproject</artifactId>
	<version>0.0.1-SNAPSHOT</version>

	<!-- Inherit defaults from Spring Boot -->
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.0.0.BUILD-SNAPSHOT</version>
	</parent>

	<!-- Add typical dependencies for a web application -->
	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
	</dependencies>

	<!-- Package as an executable jar -->
	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>

	<!-- Add Spring repositories -->
	<!-- (you don't need this if you are using a .RELEASE version) -->
	<repositories>
		<repository>
			<id>spring-snapshots</id>
			<url>http://repo.spring.io/snapshot</url>
			<snapshots><enabled>true</enabled></snapshots>
		</repository>
		<repository>
			<id>spring-milestones</id>
			<url>http://repo.spring.io/milestone</url>
		</repository>
	</repositories>
	<pluginRepositories>
		<pluginRepository>
			<id>spring-snapshots</id>
			<url>http://repo.spring.io/snapshot</url>
		</pluginRepository>
		<pluginRepository>
			<id>spring-milestones</id>
			<url>http://repo.spring.io/milestone</url>
		</pluginRepository>
	</pluginRepositories>
</project>

Spring Boot CLI

该命名主要是快速运行一个spring环境,主要是提供给groovy脚本。该部分省掉。

开发一个简单的例子

1. 确定jdk版本以及maven版本是否符合要求

2. 创建一个POM代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<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>

	<groupId>com.example</groupId>
	<artifactId>myproject</artifactId>
	<version>0.0.1-SNAPSHOT</version>

	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.0.0.BUILD-SNAPSHOT</version>
	</parent>

	<!-- Additional lines to be added here... -->

	<!-- (you don't need this if you are using a .RELEASE version) -->
	<repositories>
		<repository>
			<id>spring-snapshots</id>
			<url>http://repo.spring.io/snapshot</url>
			<snapshots><enabled>true</enabled></snapshots>
		</repository>
		<repository>
			<id>spring-milestones</id>
			<url>http://repo.spring.io/milestone</url>
		</repository>
	</repositories>
	<pluginRepositories>
		<pluginRepository>
			<id>spring-snapshots</id>
			<url>http://repo.spring.io/snapshot</url>
		</pluginRepository>
		<pluginRepository>
			<id>spring-milestones</id>
			<url>http://repo.spring.io/milestone</url>
		</pluginRepository>
	</pluginRepositories>
</project>

3. 添加一个依赖如下代码所示:

<dependencies>
	<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-web</artifactId>
	</dependency>
</dependencies>

4. 编写对应的实现代码

import org.springframework.boot.*;
import org.springframework.boot.autoconfigure.*;
import org.springframework.web.bind.annotation.*;

@RestController
@EnableAutoConfiguration
public class Example {

	@RequestMapping("/")
	String home() {
		return "Hello World!";
	}

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

}

a. sh@RestController 与 @RequestMapping都是MVC的注解。

b. @EnableAutoConfiguration:告诉spring boot基于引用的依赖应当如何去配置

c.    通过引入spring-boot-starter-web 会自动的加入tomcat与springMVC。

5. 运行程序

 a. 通过自带的IDE运行(普通的main方法运行)

 b. 通过mvn spring-boot:run运行

6. 查看结果

 在浏览器中录入 localhost:8080查看结果信息。

7. 通过如下插件打包上述代码:

<build>
	<plugins>
		<plugin>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-maven-plugin</artifactId>
		</plugin>
	</plugins>
</build>

或者进入target目录执行 jar tvf target/myproject-0.0.1-SNAPSHOT.jar进行打包。

通过运行 java -jar target/myproject-0.0.1-SNAPSHOT.jar查看结果。

备注:上述文档参考https://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#boot-documentation

时间: 2024-09-22 03:19:00

spring boot 2.0之基础入门的相关文章

Spring Boot 2.0.0.M2 发布

Spring Boot 2.0.0.M2 发布了.Spring Boot 项目旨在简化创建产品级的 Spring 应用和服务.你可通过它来选择不同的 Spring 平台.可创建独立的 Java 应用和 Web 应用,同时提供了命令行工具来允许 'spring scripts'. 更新内容请关注发行首页. 下载地址: Source code (zip) Source code (tar.gz) >>>[评论有礼]6月6日-30日评论每日更新的"新闻资讯和软件更新资讯",

spring boot 2.0之使用spring boot

spring boot依赖 每一个spring boot的发型版本都包含了所依赖的版本,如果升级spring boot版本,其依赖也会同步更新升级.maven的用户可以通过继承spring-boot-starter-parent.其包含了一些合理的值的设置: 1. 默认设置的编译器为JDK 1.8 2. 源文件默认UTF-8编码 3. 从spring-boot-dependencies pom中继承的 Dependency Management 版本信息,在使用的时候,可以忽略其具体的版本信息.

spring boot 2.0特性之外部化配置

简介 spring boot允许你外部化其配置以便你能够在不同的环境中使用相同的代码.可以通过使用properties,YAML 文件,环境变量,以及命名行参数等形式外部化其配置.属性值可以通过@value的形式直接注入到bean中去(其通过spring 的抽象或者是通过使用@ConfigurationProperties绑定其结构化对象) spring boot使用了一种特别的 PropertySource允许你覆盖其值,其覆盖顺序如下: 1. devtools的环境变量被设置,则优先使用(其

spring boot 2.0特性之profile与日志

profile 简介 profile提供了应用的隔离,使其在某种特定的环境下才能生效,任何的@Component与@Configuration能够被@Profile标记限制其何时加载,如下代码所示: @Configuration @Profile("production") public class ProductionConfiguration { // ... } 通常情况下,spring可以使用spring.profiles.active Environment 去指定哪一个pr

spring boot 2.0 特性之springApplication

SpringApplication SpringApplication 类提供了在main函数中启动spring应用程序的便利性,通过调用其静态方法其实运行,代码如下: public static void main(String[] args) { SpringApplication.run(MySpringConfiguration.class, args); } 1. 默认情况下,其日志级别为info.如果上述启动失败,会注册FailureAnalyzers分析器获取一个对应的错误信息以及

Spring Boot 2.x 小新功能 – Spring Data Web configuration

本文提纲 一.前言 二.运行 chapter-5-spring-boot-paging-sorting 工程 三.chapter-5-spring-boot-paging-sorting 工程配置详解 四.小结 运行环境: Mac OS 10.12.x JDK 8 + Spring Boot 2.0.0.M4  一.前言 Spring 2.x 更新了一个小小的功能即: Spring Data Web configuration Spring Boot exposes a new spring.d

使用Spring Boot来加速Java web项目的开发

我想,现在企业级的Java web项目应该或多或少都会使用到Spring框架的.   回首我们以前使用Spring框架的时候,我们需要首先在(如果你使用Maven的话)pom文件中增加对相关的的依赖(使用gradle来构建的话基本也一样)然后新建Spring相关的xml文件,而且往往那些xml文件还不会少.然后继续使用tomcat或者jetty作为容器来运行这个工程.基本上每次创建一个新的项目都是这么一个流程,而我们有时候仅仅想快速的创建一个Spring web工程来测试一些东西,或者是希望能节

《Spring Boot官方指南》(二)入门(二)

3.2.5 命令行补全工具 Spring Boot CLI附带了一些脚本,这些脚本为BASH 和zsh提供了命令行补全功能.在任何shell里面都可以source到这些脚本(也叫spring),也可以初始化到个人或者系统级别的命令行工具里面.在Debian系统里面,系统级别的脚本在这个路径:/shell-completion/bash,shell程序启动以后,这里面的所有脚本都可以执行.例如,您已经使用SDKMAN!安装了这些脚本,为了手动执行他们,可以这样操作: $ . ~/.sdkman/c

《深入实践Spring Boot》一第一部分 Part 1基础应用开发

第一部分 Part 1 基础应用开发 第1章 Spring Boot入门 第2章 在Spring Boot中使用数据库 第3章 Spring Boot界面设计 第4章 提高数据库访问性能 第5章 Spring Boot安全设计 这一部分从搭建开发环境,简单入门,到使用数据库.界面设计.安全管理等一系列内容,介绍了使用Spring Boot框架进行基础应用开发的方法. 第1章介绍了开发环境的搭建和开发工具的选择和安装,并以一个非常简单的实例,演示了如何使用Spring Boot框架创建工程和发布应