SpringBoot基础入门

本文介绍了SpringBoot的核心概念,包括入口类、常见注解及其作用,以及核心配置文件的使用方式。详细解释了@SpringBootApplication、@SpringBootConfiguration等注解的功能,并介绍了如何利用yml和properties文件进行配置。

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

1.SpringBoot核心相关内容

1.1入口类

SpringBoot通常有一个入口类*Application,内部有一个main方法,是启动SpringBoot的入口。使用@SpringBootApplication注解,并包含main方法。

1.2常见注解

@SpringBootApplication 是SpringBoot的核心注解,用于标注程序时一个SpringBoot程序。它是一个组合注解,由多个注解组合而成。

@SpringBootApplication=@ComponentScan+@Configuration+@EnableAutoConfiguration

@SpringBootConfiguration 一个组合注解,相当于传统的xml配置文件,包含@Configuration注解。在Spring Boot项目中推荐使用@SpringBootConfiguration替代@Configuration。

@EnableAutoConfiguration 启用自动配置,该注解会使Spring Boot根据项目中依赖的jar包自动配置项目的配置项,这也是 springboot 的核心注解之一,我们只需要将项目需要的依赖包加入进来,它会自动帮我们配置这个依赖需要的基本配置。比如我们的项目引入了spring-boot-starter-web依赖,springboot 会自动帮我们配置 tomcat 和 springmvc。

@ComponentScan组件扫描,可发现和自动装配一些bean。默认扫描@SpringBootApplication类所在包的同级目录以及它的子目录。

设置不自动装配:

@SpringBootApplication(exclude = {JpaRepositoriesAutoConfiguration.class, RedisAutoConfiguration.class})

注解内部将不需要自动配置的依赖通过exclude参数指定即可,可以指定多个类

@Bean: 注解在方法上,声明当前方法返回一个Bean

@PostConstruct:注解在方法上,构造函数执行后执行。

@PreDestroy: 注解在方法上,在Bean销毁前执行。
@Lazy(true):  延迟初始化

@Scope:注解在类上,描述spring容器如何创建Bean实例。
@Profile:注解在方法类上 在不同情况下选择实例化不同的Bean 特定环境下生效

@Import:用来导入其他配置类。

@ImportResource:用来加载xml配置文件。

2.核心配置文件

2.1yml和properties

SpringBoot使用一个全局配置文件application.properties或者application.yml。properties配置文件见附件。

yml类似于xml,但是yml没有xml中的 标签,而是通过空格来表示层级结构:

#相当于 properties 中的server.port=80

server:

  port: 80

#代表 spring.jpa.下面的属性 每个:之后的代表当前属性下的属性

spring:

  jpa:

    generate-ddl: false

    show-sql: true

    hibernate:

      ddl-auto: update

    database: mysql

SpringBoot的配置文件可以放在以下几个地方:

外置,在相对于应用程序运行目录的/congfig子目录里。(resources/config)

外置,在应用程序运行的目录里(resources)

内置,在config包

内置,在Classpath根目录

这个列表按照优先级排序,也就是说,src/main/resources/config下application.properties覆盖src/main/resources下application.properties中相同的属性

如果在相同优先级位置同时有application.properties和application.yml,那么application.properties里的属性里面的属性就会覆盖application.yml

如果自己定义了其它的配置文件,如test.properties,可以使用@PropertiesSource注解指定加载配置文件。

@PropertySource("classpath:test.properties")

2.2profile多环境配置

当应用程序需要部署到不同运行环境时,一些配置细节通常会有所不同,最简单的比如日志,生产日志会将日志级别设置为WARN或更高级别,并将日志写入日志文件,而开发的时候需要日志级别为DEBUG,日志输出到控制台即可。

如果按照以前的做法,就是每次发布的时候替换掉配置文件,这样太麻烦了,Spring Boot的Profile就给我们提供了解决方案,命令带上参数就搞定。

切换的配置文件必须符合application-xx的命名,其中xx和application.properties中指定的属性值对应,在application.properties中进行如下配置,系统将会使用application-dev.properties中的配置:

spring.profiles.active=dev

 

转载于:https://www.cnblogs.com/sueyyyy/p/9519197.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值