spring boot 高频知识点

spring boot 知识点

1.@import的四种用法?

1.导入jar包中的bean类
2.导入配置类中的bean
3.导入improtSelector的实现类,实现条件导入
4.导入ImportBeanDefinitionRegistrar实现类

@EnableAutoConfiguration中使用的是第三种方式:@Import(AutoConfigurationImportSelector.class)

2.spring boot的事件监听实现?

SpringBoot 在项目启动时,会对几个监听器进行回调,我们可以实现这些监听器接口,在项目启动时完成一些操作。

  • ApplicationContextInitializer、

  • SpringApplicationRunListener、

  • CommandLineRunner、

  • ApplicationRunner

    通过实现这四个接口的方法,我们就可以在项目启动时进行数据的监听或写入等操作
    其中:CommandLineRunner和 ApplicationRunner 在实现抽象方法后就可以自动加载
    ApplicationContextInitializer则需要在配置文件中将加载监听器配置为自己重写的类
    要注意的是SpringApplicationRunListener的使用要添加构造器

3.spring boot的监听器

actuator:spring提供的监听器,导入坐标后会在项目启动时自动加载,使用时访问控制台输出的相应地址即可看到项目数据

可以通过配置选择暴露更多的endpoint
management.endpoints.web.exposure.include=*

2.图形化监视器 Spring Boot Admin
SpringBoot Admin 有两个角色,客户端(Client)和服务端(Server),需要创建一个客户端模块来进行监视。

被监视项目:
创建 admin-server 模块
导入依赖坐标 admin-starter-server
在引导类上启用监控功能@EnableAdminServer

admin-client客户端:
①创建 admin-client 模块
②导入依赖坐标 admin-starter-client
配置相关信息:server地址等

spring.boot.admin.client.url=http://localhost:9000

management.endpoint.health.show-details=always
management.endpoints.web.exposure.include=*

项目启动后,访问url即可

3.SpringBoot部署

通过maven工具直接打包为jar包的情况下,可以直接运行

打war包:
需要在启动类实现SpringBootServletInitializer接口
重写方法

 @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
    
    
        return builder.sources(SpringbootDeployApplication.class);
    }

可以通过pom文件中的finalname来修改打包的war名

 <build>
        <finalName>springboot</finalName>
    </build>

猜你喜欢

转载自blog.csdn.net/coding_doge/article/details/114260381