SpringBooot(1)入门,第一个SpringBoot应用

一、什么是SpringBoot

  • Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化Spring应用的初始搭建以及开发过程,使用springboot以后,搭建一个spring应用和开发变得很简单
  • 它使用 “习惯优于配置” (项目中存在大量的配置,此外还内置一个习惯性的配置,让你无须手动进行配置)的理念让你的项目快速运行起来。
  • 它并不是什么新的框架,而是默认配置了很多框架的使用方式,就像 Maven 整合了所有的 jar 包一样,Spring Boot 整合了所有框架,它使用maven的方式对Spring应用开发进行进一步封装和简化。

Spring Boot特点

  • 创建独立的Spring应用程序

Spring Boot可以以jar包的形式独立运行,运行一个Spring Boot项目只需要通过java -jar xx.jar。

  • 内嵌式容器简化Web项目,无需部署WAR文件

Spring Boot可选择内嵌Tomcat、Jetty或者Undertow,这样无须以war包形式部署。

  • 简化Maven配置

Spring提供了一系列的starter pom来简化maven依赖加载,例如:当你使用了spring-boot-starter-web时,会自动加入相关依赖,无需你手动一个一个的添加坐标依赖。

  • 自动配置Spring

Spring Boot会根据在类路径中的jar包、类,为jar包里的类自动配置Bean,这样会极大地减少我们要使用的配置。当然,Spring Boot只是考虑了大多数的开发场景,并不是所有场景,若在实际开发中,我们需要自动配置bean,而Spring Boot没有提供支持,则可以自定义自动配置。

  • 绝对没有代码生成和对XML没有要求配置

Spring Boot的神奇的不是借助于代码生成来实现的,而是通过条件注解来实现的,这是Spring 4.x提供的新特性,Spring 4.x提倡使用java配置和注解配置相结合,而Spring Boot不需要任何xml配置即可实现Sping Boot的所有配置。

二、SpringBoot入门

开发环境:jdk1.8
项目管理工具:maven
开发工具:idea

1.选择 Spring Initializr ,然后选择默认的 url 点击【Next】:
SpringBooot(1)入门,第一个SpringBoot应用
2.然后修改一下项目的信息:
SpringBooot(1)入门,第一个SpringBoot应用
3.勾选上 Web 模板:
SpringBooot(1)入门,第一个SpringBoot应用
4.选择好项目的位置,点击【Finish】:
SpringBooot(1)入门,第一个SpringBoot应用
5.如果是第一次配置 Spring Boot 的话可能需要等待一会儿 IDEA 下载相应的 依赖包,默认创建好的项目结构如下:
SpringBooot(1)入门,第一个SpringBoot应用

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

6.在com.example.springboot001包下新建一个Controller包里面创建一个【HelloController】
SpringBooot(1)入门,第一个SpringBoot应用

  • @RestController 注解: 该注解是 @Controller 和 @ResponseBody 注解的合体版

7.在Springboot001Application这个类中,然后右键点击运行:
SpringBooot(1)入门,第一个SpringBoot应用

  • Spring Boot 内置了 Tomcat,所以不用我们手动的去配置 Tomcat 服务器。

  • 启动成功后我们访问一下地址 http://localhost:8080/hello/test
    SpringBooot(1)入门,第一个SpringBoot应用

  • 可以看到页面成功显示出我们返回的信息。

三、应用入口类

  • @SpringBootApplication是Sprnig Boot项目的核心注解,主要目的是开启自动配置。后续讲解原理的时候再深入介绍。

  • main方法这是一个标准的Java应用的main的方法,主要作用是作为项目启动的入口。

  • @RestController注解等价于@[email protected]的结合,使用这个注解的类里面的方法都以json格式输出。