SpringBoot-02-HelloWord细节相关

细节相关

对配置信息,注解使用进行一个简单说明

父项目:

在添加的如下字段中:

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-dependencies</artifactId>
        <version>2.3.4.RELEASE</version>
    </parent>

spring-boot-dependencies已经包含了我们需要各种依赖,是springBoot的版本仲裁中心,点开可以看到:

  <properties>
    <activemq.version>5.15.13</activemq.version>
    <antlr2.version>2.7.7</antlr2.version>
    <appengine-sdk.version>1.9.82</appengine-sdk.version>
    <artemis.version>2.12.0</artemis.version>
    <aspectj.version>1.9.6</aspectj.version>
    <assertj.version>3.16.1</assertj.version>
    <atomikos.version>4.0.6</atomikos.version>
    <awaitility.version>4.0.3</awaitility.version>
    <bitronix.version>2.1.4</bitronix.version>
    ...
  </properties>

导入的依赖-启动器

在如下配置中:导入了一个web的场景启动器,包含了web开发的所有需要导入的信息。

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

在springBoot中,各种场景已经被分割为不同启动器,要是用相关功能就导入相关场景启动器即可,真正实现了组件开发。

程序相关

SpringBootApplication
SpringBootConfiguration
EnableAutoConfiguration
Configuration
AutoConfigurationPackage
AutoConfigurationImportSelector.class

注解说明

@SpringBootApplication:说明这个类是SpringBoot的主配置类,SpringBoot就应该运行这个类的main方法来启动SpringBoot应用。其包含了多个注解:

@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@SpringBootConfiguration	//标注在某个类上,表示这是一个Spring Boot的配置类;
@EnableAutoConfiguration	//开启自动配置
@ComponentScan(
    excludeFilters = {@Filter(
    type = FilterType.CUSTOM,
    classes = {TypeExcludeFilter.class}
), @Filter(
    type = FilterType.CUSTOM,
    classes = {AutoConfigurationExcludeFilter.class}
)}
)
@SpringBootConfiguration

Spring Boot的配置类;标注在某个类上,表示这是一个Spring Boot的配置类;

@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Configuration	//配置类注解
@EnableAutoConfiguration:

开启自动配置功能,子注解如下:

//自动配置包:将主配置类所在包及下面所有子包里面的所有组件扫描到Spring容器
@AutoConfigurationPackage	

//将所有需要导入的组件以全类名的方式返回;这些组件就会被添加到容器中;
@Import({AutoConfigurationImportSelector.class}) 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值