springboot启动类的三个注解

SpringBoot启动类的三大注解是什么?

在SpringBoot中,我们可以通过添加一些注解来简化项目的配置和开发,最常用的三个注解分别是@SpringBootApplication、@EnableAutoConfiguration和@ComponentScan,下面我们将详细介绍这三个注解的作用及其使用方法。

springboot启动类的三个注解

@SpringBootApplication注解

1、作用:@SpringBootApplication是SpringBoot的核心注解,它表示这是一个SpringBoot应用程序的启动类,当一个类上添加了这个注解后,SpringBoot会自动完成以下配置:

启用基本的自动配置;

设置应用名称;

注册默认的异常处理;

开启组件扫描。

2、使用方法:在启动类上添加@SpringBootApplication注解即可。

springboot启动类的三个注解

示例代码:

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class DemoApplication {
    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}

@EnableAutoConfiguration注解

1、作用:@EnableAutoConfiguration是SpringBoot的一个核心注解,它用于开启自动配置功能,当一个类上添加了这个注解后,SpringBoot会根据项目中的依赖关系自动配置相应的Bean,如果项目中引入了Web依赖,那么SpringBoot会自动配置Tomcat、DispatcherServlet等组件。

2、使用方法:在启动类上添加@EnableAutoConfiguration注解即可,通常情况下,我们不需要显式地指定要启用哪些自动配置,因为SpringBoot会自动识别并加载相关的配置类,但在某些特殊场景下,我们可以通过指定exclude属性来排除不需要的自动配置。

示例代码:

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.context.annotation.ComponentScan;
@EnableAutoConfiguration
@ComponentScan(exclude = {"org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration"})
public class DemoApplication {
    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}

@ComponentScan注解

1、作用:@ComponentScan是Spring框架的一个核心注解,它用于开启组件扫描功能,当一个类上添加了这个注解后,SpringBoot会自动扫描当前包及其子包下的所有类,并将这些类注册为Bean,这样,我们就可以在其他地方通过依赖注入的方式使用这些Bean了。

2、使用方法:在启动类或者配置类上添加@ComponentScan注解即可,通常情况下,我们会在启动类上添加这个注解,以便让SpringBoot自动扫描并注册所有的Bean,如果需要对扫描范围进行限制,可以通过指定basePackages属性来实现,我们还可以使用includeFilters和excludeFilters属性来过滤需要扫描的类。

springboot启动类的三个注解

示例代码:

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.FilterType;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import java.util.function.Function;
@EnableAutoConfiguration
@ComponentScan(basePackages = "com.example", includeFilters = @Filter(type = FilterType.ASSIGNABLE_TYPE, classes = Controller.class), excludeFilters = @Filter(type = FilterType.ASSIGNABLE_TYPE, classes = WebMvcConfigurer.class))
public class DemoApplication {
    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}

相关问题与解答:

1、@SpringBootApplication注解是否可以替换为@Configuration、@EnableAutoConfiguration和@ComponentScan这三项注解?答:不能直接替换,因为@SpringBootApplication注解已经包含了@Configuration、@EnableAutoConfiguration和@ComponentScan这三项注解的功能,所以无需再单独添加这三项注解,如果你想要自定义某个Bean的创建过程,可以在启动类上单独添加@Configuration注解。

原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/229094.html

Like (0)
Donate 微信扫一扫 微信扫一扫
K-seo的头像K-seoSEO优化员
Previous 2024-01-19 04:12
Next 2024-01-19 04:14

相关推荐

  • 一文搞懂阿里云服务器部署Redis并整合Spring Boot

    本文介绍在阿里云服务器上部署Redis服务,并实现与Spring Boot的整合,包括配置修改、端口开放和客户端连接设置,助力读者轻松完成远程Redis服务的搭建和连接。

    2024-02-18
    0155
  • spring是怎么处理注解的

    Spring通过注解扫描器来处理注解,将注解信息注册到BeanDefinition中,实现依赖注入和面向切面编程等功能。

    2024-02-19
    0186
  • Spring Boot中使用MongoDB数据库的方法

    在现代的软件开发中,数据库已经成为了不可或缺的一部分,而在众多的数据库中,MongoDB因其灵活的数据模型和高性能的特性,受到了广大开发者的喜爱,Spring Boot作为一款轻量级的Java开发框架,也提供了对MongoDB的支持,本文将详细介绍在Spring Boot中使用MongoDB数据库的方法。添加依赖在使用Spring B……

    2024-03-04
    0213
  • springboot如何配置注解扫描

    SpringBoot如何配置注解扫描在SpringBoot项目中,我们可以通过配置注解扫描来实现自动扫描指定包下的类,并将其纳入Spring容器管理,这样可以方便地实现控制反转和依赖注入,提高开发效率,本文将详细介绍如何在SpringBoot中配置注解扫描。什么是注解扫描?注解扫描是指在启动SpringBoot应用时,自动扫描指定包下……

    2024-01-30
    0140
  • 免费的登录注册接口,springboot登录注册接口,springboot做登录

    SpringBoot是Pivotal团队推出的一个支持快速开发的框架,伴随Spring0而生,继承了Spring的优秀特质,简化了使用Spring编码、配置、部署的过程,使项目的开发变得简单、敏捷,简化配置 Spring boot通过预定义的配置和自动配置简化配置过程,使开发人员能够简化配置工作,自动化配置 Spring boot可以自动化配置,以此解决整合框架或者技术配置文件过多地问题,并且

    2023-12-04
    0233
  • .spring 有哪些主要模块

    在Java中,Spring是一个开源的轻量级企业级应用程序开发框架,它提供了一系列的模块和功能,用于简化企业级应用程序的开发过程,以下是Spring框架的主要模块:1、核心容器(Core Container) 核心容器是Spring框架的核心部分,它提供了依赖注入(Dependency Injection)和面向切面编程(Aspect……

    2023-12-29
    0111

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

免备案 高防CDN 无视CC/DDOS攻击 限时秒杀,10元即可体验  (专业解决各类攻击)>>点击进入