【问题篇】springboot项目通过数据库限制实例端口号

简介: 【问题篇】springboot项目通过数据库限制实例端口号


       本次记录一个小问题,万一以后还用得上。springboot项目启动时可以随便指定端口号进行启动。但是在公司项目上我发现他做了一个对应用端口号的控制,只能某个应用只能跑规定的端口号,本次就将这个操作记录下来了。


一、第一步

       新建数据库表,用于保存端口号以及应用限制的配置,如下:

CREATE TABLE `sys_service` (
  `service_code` varchar(255) COLLATE utf8_bin DEFAULT NULL COMMENT '服务名称',
  `service_desc` varchar(255) COLLATE utf8_bin DEFAULT NULL COMMENT '服务描述',
  `service_port` varchar(255) COLLATE utf8_bin DEFAULT NULL COMMENT '服务端口号',
  `status` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT '状态,0是启用,1是停用'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8_bin;

二、第二步

       这次操作是基于项目已经整合了mybatis-plus,前面有讲过,忘了可以去翻翻。

(8条消息) 【四】springboot整合mybatis-plus(超详细)(上)_小z♂的博客-CSDN博客_springbootplus

       在项目中新增如下类

       将该类注入spring容器,并向该类注入mybatis的mapper,该mapper映射的是刚才创建的表的实体类,具体可以翻翻前面的整合mabatis,此处就不截图mapper层和实体类了,主要将这个类。

  • 通过@Value("${spring.application.name}")获取应用的服务名称
  • 通过@Value("${server.port}")获取应用的端口号

       该类实现至InitializingBean接口,该接口只有一个方法。

      InitializingBean接口为bean提供了初始化方法的方式,它只包括afterPropertiesSet方法,凡是继承该接口的类,在spring容器初始化该bean的时候会执行该方法。

       如此这般,就可以通过它来做一些项目启动时想做的事了,例如将一些全局静态属性存入redis或者本文想做的,将该应用的端口号去做判断,进行限制。

三、第三步

       查看测试结果:

       数据库中配置的demo服务的端口为8085

       可见,8085启动成功

       现在修改端口为8086

       可见启动失败了。

四、第四步

       补充:此外,不通过实现上述接口,通过标签将bean注入spring容器时,通过加上init-method属性指定一个方法,也可以实现初始化某个bean时执行某个方法。

例如:

<bean id="testBean" class="com.Test" init-method="testMethod"></bean>
目录
相关文章
|
6天前
|
SQL Java 数据库
使用Spring Boot和Flyway进行数据库迁移
使用Spring Boot和Flyway进行数据库迁移
|
7天前
|
缓存 监控 Java
优化Spring Boot应用的数据库访问性能
优化Spring Boot应用的数据库访问性能
|
4天前
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的《数据库原理及应用》课程平台的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的《数据库原理及应用》课程平台的详细设计和实现(源码+lw+部署文档+讲解等)
|
6天前
|
SQL XML Java
解决Spring Boot项目中的数据库迁移问题
解决Spring Boot项目中的数据库迁移问题
|
6天前
|
缓存 NoSQL Java
使用Spring Boot和Couchbase实现NoSQL数据库
使用Spring Boot和Couchbase实现NoSQL数据库
|
7天前
|
负载均衡 Java 开发者
如何在Spring Boot项目中实现微服务架构?
如何在Spring Boot项目中实现微服务架构?
|
8天前
|
Java 测试技术 数据库连接
Spring Boot中的嵌入式数据库使用
Spring Boot中的嵌入式数据库使用
|
7天前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的《数据库原理及应用》课程平台附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的《数据库原理及应用》课程平台附带文章源码部署视频讲解等
12 0
|
7天前
|
监控 Java 数据库连接
解决Spring Boot中的数据库连接池问题
解决Spring Boot中的数据库连接池问题
|
7天前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的软件项目管理系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的软件项目管理系统附带文章源码部署视频讲解等
8 0