【问题篇】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>
目录
相关文章
|
18天前
|
Java Linux
Springboot 解决linux服务器下获取不到项目Resources下资源
Springboot 解决linux服务器下获取不到项目Resources下资源
|
25天前
|
Java API Spring
SpringBoot项目调用HTTP接口5种方式你了解多少?
SpringBoot项目调用HTTP接口5种方式你了解多少?
80 2
|
25天前
|
前端开发 JavaScript Java
6个SpringBoot 项目拿来就可以学习项目经验接私活
6个SpringBoot 项目拿来就可以学习项目经验接私活
34 0
|
1月前
|
前端开发 Java 关系型数据库
SpringBoot+MyBatis 天猫商城项目
SpringBoot+MyBatis 天猫商城项目
57 1
|
28天前
|
Java Maven 微服务
springboot项目开启远程调试-jar包
springboot项目开启远程调试-jar包
20 0
|
2天前
|
Java Docker 容器
SpringBoot项目集成XXL-job
SpringBoot项目集成XXL-job
|
2天前
|
安全 Java Maven
[AIGC] Spring Boot中的切面编程和实例演示
[AIGC] Spring Boot中的切面编程和实例演示
|
15天前
|
JSON 前端开发 Java
统一异常处理:让Spring Boot项目异常更优雅
统一异常处理:让Spring Boot项目异常更优雅
24 1
|
18天前
|
存储 关系型数据库 MySQL
【mybatis-plus】Springboot+AOP+自定义注解实现多数据源操作(数据源信息存在数据库)
【mybatis-plus】Springboot+AOP+自定义注解实现多数据源操作(数据源信息存在数据库)
|
18天前
|
Java 测试技术 数据库
SpringBoot启动时设置不加载数据库
SpringBoot启动时设置不加载数据库
10 0

热门文章

最新文章