spring boot学习

本文介绍了Spring Boot的基本概念及快速搭建步骤,包括项目结构、核心注解@SpringBootApplication的作用,以及如何编写并运行第一个Spring Boot应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. spring boot是什么?

spring boot集成了大多数的主流框架,进行自动化配置,无需手动配置。根据所导入的jar包进行自动化配置。

1.1 设置spring boot的parent

<parent>

      <groupId>org.springframework.boot</groupId>

      <artifactId>spring-boot-starter-parent</artifactId>

      <version>1.5.2.RELEASE</version>

   </parent>

 

说明:Spring boot的项目必须要将parent设置为spring boot的parent,该parent包含了大量默认的配置,大大简化了我们的开发。


1.2 导入spring boot的web支持

<dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-web</artifactId>

      </dependency>

1.3 添加Spring boot的插件

<plugin>

           <groupId>org.springframework.boot</groupId>

           <artifactId>spring-boot-maven-plugin</artifactId>

        </plugin>

1.4 编写第一个Spring Boot的应用

@Controller

@SpringBootApplication

@Configuration

publicclass HelloApplication {

   

    @RequestMapping("hello")

    @ResponseBody

    public String hello(){

        return"hello world";

    }

   

    publicstaticvoid main(String[] args) {

        SpringApplication.run(HelloApplication.class, args);

    }

 

}

 

代码说明:

1、@SpringBootApplication:Spring Boot项目的核心注解,主要目的是开启自动配置。;

2、@Configuration:这是一个配置Spring的配置类;

3、@Controller:标明这是一个SpringMVC的Controller控制器;

4、main方法:在main方法中启动一个应用,即:这个应用的入口;

1.5  启动应用

在Spring Boot项目中,启动的方式有两种,一种是直接run Java Application另外一种是通过Spring Boot的Maven插件运行。

 

第一种:


 

第二种:

 

启动效果:

 

看到如下信息就说明启动成功了:

INFO 6188 --- [           main]c.i.springboot.demo.HelloApplication     : Started HelloApplication in 3.281 seconds(JVM running for 3.601)

2 Spring Boot的核心

2.1 入口类和@SpringBootApplication

Spring Boot的项目一般都会有*Application的入口类,入口类中会有main方法,这是一个标准的Java应用程序的入口方法。

 

@SpringBootApplication注解是Spring Boot的核心注解,它其实是一个组合注解:


1.        @EnableAutoConfiguration:启用自动配置,该注解会使SpringBoot根据项目中依赖的jar包自动配置项目的配置项:

如:我们添加了spring-boot-starter-web的依赖,项目中也就会引入SpringMVC的依赖,Spring Boot就会自动配置tomcat和SpringMVC

1.        @ComponentScan:默认扫描@SpringBootApplication所在类的同级目录以及它的子目录。


2.2  关闭自动配置

通过上述,我们得知,Spring Boot会根据项目中的jar包依赖,自动做出配置,Spring Boot支持的自动配置如下(非常多):



如果我们不需要Spring Boot自动配置,想关闭某一项的自动配置,该如何设置呢?


比如:我们不想自动配置Redis,想手动配置。



2.3 全局配置文件

Spring Boot项目使用一个全局的配置文件application.properties或者是application.yml,在resources目录下或者类路径下的/config下,一般我们放到resources下。


修改tomcat的端口为8088


修改进入DispatcherServlet的规则为:*.html


3  Spring Boot的自动配置的原理

Spring Boot在进行SpringApplication对象实例化时会加载META-INF/spring.factories文件,将该配置文件中的配置载入到Spring容器。

3.1 自动配置静态资源

 进入规则为 /

如果进入SpringMVC的规则为/时,Spring Boot的默认静态资源的路径为:

spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/



4 发布到独立的tomcat中运行


4.1 工程的打包方式为war



将spring-boot-starter-tomcat的范围设置为provided


设置为provided是在打包时会将该包排除,因为要放到独立的tomcat中运行,是不需要的。


 修改代码,设置启动配置

需要集成SpringBootServletInitializer,然后重写configure,将Spring Boot的入口类设置进去。













评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值