第一个Spring Boot程序

GitHub:SpringBootDemo

Gitee:SpringBootDemo

微信公众号:

目录

1 Spring Boot核心功能

2 第一个Spring Boot程序

3 项目结构解析

4 项目分析


相信使用过Spring MVC框架的小伙伴,都感受过其繁琐的配置。过于细分的配置和与Servlet API的强耦合,使得无论开发还是部署都会费时费力,且容易出现问题。在此基础上,Spring Boot应运而生。

使用Spring Boot可以让我们快速创建一个基于Spring框架的项目,而这个项目,只需要极少的配置。

1 Spring Boot核心功能

Spring Boot主要有以下核心功能

1、独立运行的Spring项目

Spring Boot可以以jar包的形式独立运行,使用:java -jar xxx.jar 就可成功运行Spring Boot项目。

2、内嵌Servlet容器

Spring Boot内嵌Tomcat容器,无需使用war包的方式部署项目,可以通过执行项目的main函数,让项目快速运行。

3、提供starter简化Manen配置

Spring Boot提供了一系列的starter pom用来简化我们的Maven依赖

4、自动配置Spring

Spring Boot会根据我们项目中的jar包依赖,对项目进行自动配置。当然,这只是Spring考虑到的大多数使用场景,在一些特殊情况,还需要我们进行手动配置。

5、准生产的应用监控

Spring Boot提供了基于http、ssh、telnet对运行时的项目进行监控。

6、绝对没有代码生成并且对XML也没有配置要求

Spring Boot实现了自动配置,降低了项目搭建复杂度,包含一整套快速开发包。

如果这里没有搞明白上述核心功能描述的意思,不妨先往下看,等看完整篇文章再回来思索核心功能。

2 第一个Spring Boot程序

以IntelliJ IDEA为例。Create New Project,选择Spring Initializr,Next。

填写项目信息

选择项目使用到的技术,这里Spring Boot版本建议选择最新的稳定版,然后下面找到Web勾选上即可。

最后一步,填写项目名和路径,Finish。

第一次创建Spring Boot项目时,系统会下载一些需要的依赖等,耗时较长,下载成功后等以后再新建项目时会很快创建好。

3 项目结构解析

项目创建成功之后,我们先来看下项目结构。

首先在项目创建完成之后,会自动创建一个类,命名规则是ProjectName+Application,比如我们这个项目的SpringBootDemoApplication,这就是Spring Boot项目的入口类。我们打开类之后会发现,类中有个@SpringBootApplication注解,这是整个Spring Boot的核心注解,作用是开启Spring Boot的自动配置。类中还有一个main方法,这是标准的Java应用程序的入口方法

我们新建一个类,类结构如图所示。注意,在Spring Boot项目中,只有入口类(即SpringBootDemoApplication)所在的包及其子包中的类,才会被自动配置

新建的类加上@RestController注解,使之成为一个Controller,然后在其内提供地址转换方法。

@RestController
public class GatewayController {

    @RequestMapping(value = "/gateway")
    public String gateway() {
        return "Hello World";
    }
}

启动项目

启动成功后就可在浏览器中直接访问。

至此,一个简单的Spring Boot项目就创建成功,并且能够成功访问。

4 项目分析

下面,我们来仔细分析下项目。

1、入口类SpringBootDemoApplication.java

回到入口类SpringBootDemoApplication,刚才说了,项目创建完成之后,会自动创建一个命名规则是ProjectName+Application的类,类中有个@SpringBootApplication注解和一个main方法main方法是一个标准的Java应用程序的入口方法,而@SpringBootApplication注解作用是开启Spring Boot的自动配置。我们进入到@SpringBootApplication注解的源码,可以看到他是一个组合注解,组合了@SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan等。

@SpringBootConfiguration注解就是@Configuration注解,表示该类是一个配置类;

@ EnableAutoConfiguration注解作用是让Spring Boot根据jar包依赖为当前项目进行自动配置。比如,如果spring-boot-starter-web已经添加了Tomcat和Spring MVC,这个注解会自动假设正在开发一个Web应用程序并添加相应的Spring设置;

@ComponentScan注解的作用是告诉Spring自动扫描并且装入bean容器。

刚才我们就提醒过,使用@SpringBootApplication注解进行自动配置,系统会去入口类的同级包以及子级包中去扫描实体类

@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(
    excludeFilters = {@Filter(
    type = FilterType.CUSTOM,
    classes = {TypeExcludeFilter.class}
), @Filter(
    type = FilterType.CUSTOM,
    classes = {AutoConfigurationExcludeFilter.class}
)}
)
public @interface SpringBootApplication {

}

2、配置文件application.properties

Spring Boot使用一个全局的配置文件application.properties或者application.yml,放在src/main/resources目录下。Spring Boot不仅支持常见的properties类型的配置文件,也支持yaml语言的配置文件。

修改Tomcat默认端口号和默认访问路径

Tomcat默认端口号是8080,默认访问路径是http://localhost:8080,这里我们将端口号改为8090,访问路径改为http://localhost:8090/springbootdemo。

在application.properties文件中添加如下代码:

server.port=8090
server.servlet.context-path=/springbootdemo

重启项目,浏览器访问

微信:Spring Boot入门:第一个Spring Boot程序

微博:Sina Visitor System

知乎:第一个Spring Boot程序 - 知乎

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值