认识Spring Boot
1.什么是SpringBoot
随着动态语言的流行(Ruby、Groovy、Scala、Node.js),Java的开发显得格外的笨重:繁多的配置、低下的开发效率、复杂的部署流程以及第三方技术集成难度大
在上述环境下,SpringBoot应运而生。它使用“习惯优于配置”(项目中存在大量配置,此外还内置一个习惯性的配置,让你无需手动进行配置)的理念让你的项目快速运行起来。使用SpringBoot很容易创建一个独立运行(运行jar,内嵌Servlet容器)、准胜场级别的基于Spring框架的项目,使用SpringBoot你可以不用挥着只需要很少的SPring配置
2.SpringBoot不是什么
首先SpringBoot不是应用服务器。是怎么样产生的呢?Spring Boot可以把Wen应用程序变为可自执行的JAR文件,不用部署到传统Java应用服务器里就能在命令行里运行。SpringBoot在应用程序里嵌入一个Servlet容器(Tomcat、Jetty或Undertow),以此实现这一功能。但这是内嵌的Servlet容器提供的功能,不是SpringBoot实现的
与之类似,SpringBoot也没有实现注入JPA或JMS之类的企业级java规范。他的确支持不少企业级java规范,但是要在Spring里自动配合支持那些特性的Bean。例如,SpringBoot没有实现JPA,不过它自动配置了某个JPA实现(比如Hibernate)的Bean,以此支持JPA
最后,SpringBoot没有引入任何形式的代码生成,而是利用了Spring
4的条件化配置特性,以及Maven和Gradle提供的传递依赖解析,以此实现Spring应用程序上下文里的自动配置
3.为什么要使用SpringBoot
1)SpringBoot的四个核心
- 自动配置:针对很多Spring应用程序常见的应用功能,SpringBoot能自动提供相关的配置
- 起步依赖:告诉Spring Boot需要什么功能,他就能引入需要的库
- 命令行界面:这是SPringBoot的可选择性,借此你只需要代码就能完成完整的应用程序,无需传统项目构建
- Actuator :让你能够深入运行中的SpringBoot应用程序,一探究竟
2)优点:
- 快速构建项目;
- 对主流开发框架的无配置;
- 项目可独立运行,无需外部依赖Servlet容器 ;
- 提高运行时的应用监控;
- 极大地提高了开发、部署效率;
- 与云计算的天然集合 ;
4.简单例子
1)先创建一个maven的web项目
2)在web.xml中添加如下配置
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.springboot</groupId>
<artifactId>springboot</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>firstspringboot</name>
<!-- 设置spring boot的parent -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.2.RELEASE</version>
</parent>
<dependencies>
<!-- 导入spring boot的web支持 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<!-- Spring Boot也提供了一个可选的 Maven Plugin来创建可执行的jars -->
<!-- 添加Spring boot的插件 -->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
3)编写第一个SpringBoot应用:
package com.first.job.controller;
import org.springframework.boot.Banner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
/**
*
*
* @Controller:表明这是一个SPringMVC的Controller控制器
*@SpringBootApplication :Spring Boot项目的核心注解,主要目的是开启自动配置
*@Configuration:这是一个配置Spring的配置类
*
*/
@Controller
@SpringBootApplication
@Configuration
public class Example {
@RequestMapping(value ="/hello")
@ResponseBody
public String home(){
return "hello world!";
}
public static void main(String[] args){
// SpringApplication.run(Example.class, args);
SpringApplication application=new SpringApplication(Example.class);
application.setBannerMode(Banner.Mode.OFF);
application.run(args);
}
}
4)在Spring Boot项目中,启动的方式有两种,一种是直接run Java Application另外一种是通过Spring Boot的Maven插件运行。
(1)第一种:
(2)第二种:
启动效果:
看到如下信息就说明启动成功了:
INFO 6188 — [ main] c.i.springboot.demo.HelloApplication : Started HelloApplication in 3.281 seconds (JVM running for 3.601)
5).测试
打开浏览器,输入地址:
效果: