spring boot 2.0 入门

spring boot 特征
1)创建独立的Spring应用程序
2)直接嵌入Tomcat,Jetty或Undertow(无需部署WAR文件)
3)提供斟酌的'starter'依赖关系来简化您的构建配置
4)尽可能自动配置Spring和第三方库
5)提供生产就绪功能,如指标,运行状况检查和外部配置
6)绝对不会生成代码,并且不需要XML配置

使用 Spring Boot 有什么好处
之前的 SSM 项目,搭建过程还是比较繁琐的,需要:
1)配置 web.xml,加载 spring 和 spring mvc
2)配置数据库连接、配置日志文件
3)配置加载配置文件的读取,开启注解

4)配置mapper文件

 总结:
使用 Spring Boot 来开发项目则只需要非常少的几个配置就可以搭建起来一个 Web 项目,

重点:简单、快速、方便地搭建项目;对主流开发框架的无配置集成;极大提高了开发、部署效率。

Spring Boot 快速搭建

准备IntelliJ IDEA、Maven环境、JDK1.8及以上环境(百度一下)

这里不用idea工具创建项目,繁琐麻烦!直接使用 Spring Initializr 创建工程


下载后,将压缩包解压。在idea中选择打开此项目,maven会自动帮助下载依赖的包。


了解一下默认生成的有什么:
SpringbootApplication: 一个带有 main() 方法的类,用于启动应用程序
SpringbootApplicationTests:一个空的 Junit 测试了,它加载了一个使用 Spring Boot 字典配置功能的 Spring 应用程序上下文
application.properties:一个空的 properties 文件,可以根据需要添加配置属性
pom.xml: Maven 构建说明文件

2.创建一个HelloController

package com.example;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author: 攻城狮
 * @date: 2018/6/25 0025 15:18
 * @description:
 */
@RestController
public class HelloController {

    @RequestMapping("hello.do")
    public void hello() {
        System.out.println("你好,SpringBoot");
    }

}

3.启动main方法

    注意:我们之所以在上面的项目中没有手动的去配置 Tomcat 服务器,是因为 Spring Boot 内置了 Tomcat,端口默认8080


然后输入http://localhost:8080/hello.do 在控制台会出现   你好,SpringBoot

4.让我们来看看默认生成的 pom.xml 文件中到底有一些什么特别:

<?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>demo</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>jar</packaging>

	<name>demo</name>
	<description>Demo project for Spring Boot</description>

	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.0.3.RELEASE</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<java.version>1.8</java.version>
	</properties>

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

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

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


</project>

 <parent> 这个标签是在配置 Spring Boot 的父级依赖:

<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.0.3.RELEASE</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>

spring-boot-starter-parent 是一个特殊的 starter ,它用来提供相关的 Maven 默认依赖,使用它之后,常用的包依赖就可以省去 version 标签。通过查看本地 Maven 仓库下:\repository\org\springframework\boot\spring-boot-dependencies\2.0.3.RELEASE\spring-boot-dependencies-2.0.3.RELEASE.pom 文件来查看。

5.应用入口类
Spring Boot 项目通常有一个名为 *Application 的入口类,入口类里有一个 main 方法, 这个 main 方法就是一个标准的 Javay 应用的入口方法。
@SpringBootApplication 是 Spring Boot 的核心注解,它是一个组合注解,该注解组合了:@Configuration、@EnableAutoConfiguration、@ComponentScan;
若不是用 @SpringBootApplication 注解也可以使用这三个注解代替。其中,@EnableAutoConfiguration 让 Spring Boot 根据类路径中的 jar 包依赖为当前项目进行自动配置,
例如,添加了 spring-boot-starter-web 依赖,会自动添加 Tomcat 和 Spring MVC 的依赖,那么 Spring Boot 会对 Tomcat 和 Spring MVC 进行自动配置。

Spring Boot 还会自动扫描 @SpringBootApplication 所在类的同级包以及下级包里的 Bean ,所以入口类建议就配置在最上层包名下。

6. Spring Boot 的配置文件

Spring Boot使用一个全局的配置文件application.properties或application.yml,默认放置在src/main/resources目录下。

Spring Boot 不仅支持常规的properties 配置文件,还支持yaml 语言的配置文件。


将 Tomcat 默认端口设置为 9000 ,并将默认的访问路径从 / 修改为  /demo 时,使用 properties 文件和 yml 文件的区别如上图。

7.SpringBoot的热部署

当发生了任何修改之后我们都需要重新启动才能够正确的得到效果,SpringBoot提供了热部署的方式,任何类发生了改变,就会通过JVM类加载的方式,
加载最新的类到虚拟机中,这样就不需要重新启动也能看到修改后的效果了。

pom.xml中添加一个依赖就可以了:

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
下面需要修改idea中的两个配置
setting –> compiler 将 Build project automatically 勾选上
ctrl + shift + a 搜索 registry 选第一个,弹出框后下拉找到 compiler.automake.allow.when.app.running 勾选上即可。
重新启动SpringBoot测试


猜你喜欢

转载自blog.csdn.net/m0_37444820/article/details/80801885