广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Spring Boot Admin 快速入门详解
  • 304
分享到

Spring Boot Admin 快速入门详解

2024-04-02 19:04:59 304人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

目录1、介绍2、服务端搭建2.1 引入依赖2.2 添加注解2.3 进行测试2.4 测试结果3、客户端搭建3.1 引入依赖3.2 编写配置3.3 进行测试4、安全性4.1 添加依赖4.

1、介绍

官网地址

Spring Boot Admin 是开源社区孵化的项目,用于对 spring Boot 应用的管理和监控。Spring Boot Admin 分为服务端(spring-boot-admin-server)和客户端(spring-boot-admin-client),服务端和客户端之间采用 Http 通讯方式实现数据交互;单体项目中需要整合 spring-boot-admin-client 才能让应用被监控。在 SpringCloud 项目中,spring-boot-admin-server 是直接从注册中心抓取应用信息,不需要每个微服务应用整合 spring-boot-admin-client 就可以实现应用的管理和监控。

2、服务端搭建

2.1 引入依赖

注意:版本要和 Spring Boot 版本对应,例如我的 Spring Boot 2.3.7.RELEASE,那么 Spring Boot Admin 对应的版本就是 2.3.x。


<!-- Spring Boot Admin 服务端依赖 -->
<dependency>
    <groupId>de.codecentric</groupId>
    <artifactId>spring-boot-admin-starter-server</artifactId>
    <version>2.3.1</version>
</dependency>

2.2 添加注解

给启动类添加一个注解:@EnableAdminServer


@EnableAdminServer
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
public class ServerApplication {
     public static void main(String[] args) {
        SpringApplication.run(ServerApplication.class, args);
    }
}

2.3 进行测试

访问项目的端口号即可!

例如我配置的端口号是 9000,那么直接访问 http://localhost:9000/ 即可!

2.4 测试结果

在这里插入图片描述

3、客户端搭建

3.1 引入依赖

注意:版本要和 Spring Boot 版本对应,例如我的 Spring Boot 2.3.7.RELEASE,那么 Spring Boot Admin 对应的版本就是 2.3.x。


<!-- Spring Boot Admin 客户端依赖 -->
<dependency>
    <groupId>de.codecentric</groupId>
    <artifactId>spring-boot-admin-starter-client</artifactId>
    <version>2.3.1</version>
</dependency>

3.2 编写配置

编写 application.yml 文件:


spring:
  application:
    name: Client
  boot:
    admin:
      client:
        # 配置 Admin Server(服务端的名字)
        url: http://localhost:9000
server:
  port: 9001
 # 开放端点用于 SpringBoot Admin 的监控
management:
  endpoints:
    WEB:
      exposure:
        include: '*'
logging:
  file:
    # 配置生成日志文件名称
    name: admin-client.log

3.3 进行测试

启动项目,然后访问服务端的 Web 管理界面:

在这里插入图片描述

在这里插入图片描述

4、安全性

这个 Spring Boot Admin 的管理后台不用账号密码就能直接访问,一点都不安全,因此要给它加上登录的功能。

参考 Spring Boot Admin 的官方文档,我们可以在 Admin-Server 端添加 Spring Security 相关依赖及就可以实现需要登录后才能访问网页管理面板。

官网文档地址

4.1 添加依赖

在服务端添加 Spring Security 依赖:


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

4.2 编写配置

编写 application.yml 文件,编写用户名密码:


server:
  port: 9000
spring:
  application:
    name: Server
  security:
    user:
      name: admin
      passWord: admin

4.3 编写配置类

编写 Spring Security 的配置类:


@Configuration
public class SecurityConfig extends WebSecurityConfigurerAdapter {
    private final String adminContextPath;
     public SecurityConfig(AdminServerProperties adminServerProperties) {
        this.adminContextPath = adminServerProperties.getContextPath();
    }
     @Override
    protected void configure(httpsecurity http) throws Exception {
        SavedRequestAwareAuthenticationSuccesshandler successHandler = new 		SavedRequestAwareAuthenticationSuccessHandler();
        successHandler.setTargetUrlParameter("redirectTo");
        successHandler.setDefaultTargetUrl(adminContextPath + "/");
        http.authorizeRequests()
                // 1. 配置所有静态资源和登录页可以公开访问(匿名访问)
                .antMatchers(adminContextPath + "/assets/**").permitAll()
                .antMatchers(adminContextPath + "/login").permitAll()
                .anyRequest().authenticated()
                .and()
                // 2. 配置登录和登出路径
                .fORMLogin().loginPage(adminContextPath + "/login").successHandler(successHandler).and()
                .loGout().logoutUrl(adminContextPath + "/logout").and()
                // 3. 开启 http basic 支持,客户端注册时需要使用
                .httpBasic().and()
                .csrf()
                // 4. 开启基于 Cookie 的 CSRF 保护
                .csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse())
                // 5. 忽略这些路径的 CSRF 保护以便客户端注册
                .ignoringAntMatchers(
                        adminContextPath + "/instances",
                        adminContextPath + "/actuator/**"
                );
    }
}

4.4 修改客户端配置

修改客户端的 application.yml 配置文件,添加用户名密码:

这里不添加用户名和密码的话,是连不上服务端的:


spring:
  application:
    name: Client
  boot:
    admin:
      client:
        # 配置 Admin Server(服务端的名字)
        url: http://localhost:9000
        # 配置用户名
        username: admin
        # 配置密码
        password: admin

4.5 进行测试

重启客户端和服务端项目

访问效果为:

在这里插入图片描述

在这里插入图片描述

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注编程网的更多内容!

--结束END--

本文标题: Spring Boot Admin 快速入门详解

本文链接: https://www.lsjlt.com/news/156936.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Spring Boot Admin 快速入门详解
    目录1、介绍2、服务端搭建2.1 引入依赖2.2 添加注解2.3 进行测试2.4 测试结果3、客户端搭建3.1 引入依赖3.2 编写配置3.3 进行测试4、安全性4.1 添加依赖4....
    99+
    2022-11-12
  • SpringBoot快速入门详解
    Spring Boot是什么? Spring Boot并不是什么新的框架,它是对Spring的缺点进行了改善和优化,Spring Boot默认了很多的框架使用方式,像maven整合了...
    99+
    2022-11-12
  • Spring Boot Admin如何快速打造监控平台
    这篇文章将为大家详细讲解有关Spring Boot Admin如何快速打造监控平台,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。使用过Spring  boot的开发者都知道actuator,它是...
    99+
    2023-06-15
  • 快速了解Spring Boot
    今天给大家介绍一下Spring Boot MVC,让我们学习一下如何利用Spring Boot快速的搭建一个简单的web应用。环境准备一个称手的文本编辑器(例如Vim、Emacs、Sublime Text)或者IDE(Eclipse、Ide...
    99+
    2023-05-30
    spring boot 快速入门
  • 初学者,Spring快速入门
    目录1.spring1.1.优点1.2.缺点1.3.Spring框架的组成结构图1.3.1.核心容器1.3.2.AOP 和设备支持1.3.3.数据访问与集成1.3.4.Web1.3....
    99+
    2022-11-12
  • python快速入门题目详解
    目录九九乘法表列表元组(不可变序列)集合字符串总结九九乘法表 for i in range(1,10): for j in range(1,i + 1): ...
    99+
    2022-11-12
  • JDBC最详讲解(快速入门)
    作者简介:大家好我是小唐同学(๑>؂小唐同学(๑>؂...
    99+
    2023-09-04
    java 数据库 mysql
  • hibernate4快速入门实例详解
    Hibernate是什么Hibernate是一个轻量级的ORMapping框架ORMapping原理(Object RelationalMapping)ORMapping基本对应规则:类跟表相对应类的属性跟表的字段相对应类的实例与表中具体的...
    99+
    2023-05-31
    hibernate4 入门 te
  • Spring boot admin 服务监控利器详解
    目录一、简介二、搭建1、服务端2、客户端3、启动项目4、客户端配置3、微服务3.1、服务端3.2、客户端4、我的微服务预警发送其他服务状态信息思路一、简介 用于对 Spring Bo...
    99+
    2022-11-13
    Spring boot admin 服务监控利器 Spring 服务监控利器
  • spring boot集成redis基础入门实例详解
    目录redisredis和spring bootspring boot集成redisredis使用redis在spring boot中存取数据set写入数据get读取数据模拟接口请求...
    99+
    2022-11-13
  • spring boot集成redis基础入门实例详解
    目录Redisredis和spring bootspring boot集成redisredis使用redis在spring boot中存取数据set写入数据get读取数据模拟接口请求读取redis中的数据总结redis ...
    99+
    2022-10-08
  • Spring Boot Admin的使用详解(Actuator监控接口)
    目录第一部分 Spring Boot Admin 简介admin-server 服务端(admin-server)客户端第二部分 快速入门服务端配置(admin-server)客户端...
    99+
    2022-11-12
  • Spring Boot学习入门之AOP处理请求详解
    前言面向切面(AOP)Aspect Oriented Programming是一种编程范式,与语言无关,是一种程序设计思想,它也是spring的两大核心之一。在spring Boot中,如何用AOP实现拦截器呢?首先加入依赖关系:<d...
    99+
    2023-05-31
    springboot aop 处理请求
  • Java的MyBatis快速入门和实战详解
    目录1.什么是MyBatis2. JDBC存在的缺点硬编码操作繁琐3.Mybatis简化JDBC开发4.MyBatis快速入门|实战项目详解1.什么是MyBatis 简单来说,My...
    99+
    2023-05-18
    MyBatis MyBatis 实战
  • SpringBoot详解整合Spring Boot Admin实现监控功能
    目录监控监控的意义可视化监控平台监控原理自定义监控指标监控 ​ 在说监控之前,需要回顾一下软件业的发展史。最早的软件完成一些非常简单的功能,代码不多,错误也少。随着软件功能的逐步完善...
    99+
    2022-11-13
  • Spring Boot学习入门之统一异常处理详解
    前言关于之前的一篇所讲到的表单验证中提到,如果产生错误,可以得到错误的信息,但是返回值的问题却没有考虑。其中所提到的Controller:@RequestMapping(value = "/doRegister", method = Req...
    99+
    2023-05-31
    spring boot 统一异常处理
  • C语言数组快速入门详细讲解
    目录1.一维数组a.一维数组的创建b.一维数组的初始化c.一维数组的使用d.一维数组在内存中的存储2.二维数组a.二维数组的创建b.二维数组的初始化c.二维数组的使用d.二维数组在内...
    99+
    2022-11-13
  • Spring Boot简介与快速搭建详细步骤
    Spring Boot简介 SpringBoot为了简化在开发基于 Spring的项目的难度,减少了哪些繁杂的配置,从而让开发基于 Spring的项目变成一个相当简单容易的事。 Sp...
    99+
    2022-11-12
  • XXL-Job快速入门+详细教程
    XXL-Job快速入门+详细教程 1 概念 XXL-JOB是一个轻量级分布式任务调度平台 详细说明:XXL-JOB是一个任务调度框架,通过引入XXL-JOB相关的依赖,按照相关格式撰写代码后,可在...
    99+
    2023-09-27
    java 开发语言 xxl-job 定时任务 分布式
  • Fluent Mybatis快速入门详细教程
    使用fluent mybatis可以不用写具体的xml文件,通过java api可以构造出比较复杂的业务sql语句,做到代码逻辑和sql逻辑的合一。 不再需要在Dao中组装查询或更新...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作