当前位置: 首页 > news >正文

网站开发知识付费丰台手机网站建设

网站开发知识付费,丰台手机网站建设,农业推广,用vs2010做免费网站模板SpringBoot前置知识-SPI接口 介绍 Java中SPI是一种服务发现机制,或者说是一种思想,亦是一种约定。其实JDK中的JDBC就是使用了这种用思想,JDBC在JDK中只定义了接口,并没有实现类,连接什么数据库就要引入什么数据库的驱…

SpringBoot前置知识-SPI接口

介绍

Java中SPI是一种服务发现机制,或者说是一种思想,亦是一种约定。其实JDK中的JDBC就是使用了这种用思想,JDBC在JDK中只定义了接口,并没有实现类,连接什么数据库就要引入什么数据库的驱动。

SPI通过在ClassPath路径下的META-INF/services文件夹下通过创建文件实现服务注册,文件名为要实现接口的全限定名,内容为实现类的全限定名。

实践

分别创建三个maven项目JDBCModule,MySQLModule,OracleModule,其中MySQLModule,OracleModule实现JDBCModule中的JdbcService接口

JDBCModule

创建一个JdbcService接口

package com.jdbc;
/*** @Author * @Date 2024/5/23 21:38*/
public interface JdbcService {void connection();
}

pom文件中引入MySQLModule,OracleModule打成的jar包

        <!--oracle实现jdbc接口--><dependency><groupId>com.oracle</groupId><artifactId>OralceModule</artifactId><version>1.0-SNAPSHOT</version></dependency><!--MySQL实现jdbc接口--><dependency><groupId>com.mysql</groupId><artifactId>MySqlModule</artifactId><version>1.0-SNAPSHOT</version></dependency>
MySQLModule

引入JDBCModule打成的jar包

        <dependency><groupId>com.jdbc</groupId><artifactId>JDBCModule</artifactId><version>1.0-SNAPSHOT</version></dependency>

定义JdbcService的实现类

package com.mysql;
import com.jdbc.JdbcService;/*** @Author * @Date 2024/5/23 21:41*/
public class MySqlServiceImpl implements JdbcService {@Overridepublic void connection() {System.out.println("这是Mysql...");}
}

在resources目录下创建MATE-INF文件夹,在MATE-INF文件夹下创建文件夹命名为要实现接口的权限的名,当前项目下即JdbcService的全限定名 com.jdbc.JdbcService
内容为实现类的全限定名,即MySqlServiceImpl的全限定名com.mysql.MySqlServiceImpl。这样,接口就能知道实现类了。

OracleModule

和MySQLModule同理

使用

这样在JDBCModule中就可以找到实现类了,或者将JDBCModule打成jar包引入到其他项目中也可以找到接口的实现类了。通过ServiceLoad加载SPI接口的实现

public class AppMain {public static void main(String[] args) {ServiceLoader<JdbcService> load = ServiceLoader.load(JdbcService.class);Iterator<JdbcService> iterator = load.iterator();while (iterator.hasNext()){iterator.next().connection();}}
}
这是Oracle...
这是Mysql...Process finished with exit code 0

总结

SpringBoot的核心思想是“约定大于配置”,由此可以看出Spring发展为SpringBoot是必然结果。技术在变,但是思想不会变。

http://www.yayakq.cn/news/506239/

相关文章:

  • 最火的深圳网站建设360建网站
  • 宁波网站建设zj95广告设计需要学什么
  • 做商城网站需要准备那些网络文章发布平台
  • qq安全网页版在线登录企业网站优化面向什么工作
  • 做网站所需要的代码6深圳网络推广专员
  • 做的网站空白了建立网站的第一步是建立什么
  • 超市网站源码html5手机编程软件
  • 中小学生教育网站建设方案php网站授权
  • 建网站需要什么手续陕西网
  • 潍坊软件网站开发做电商需要知道的几个网站
  • 做网站花钱么网站网页建设实训心得
  • 地推网站信息怎么做wordpress网页提速
  • logo在线设计网站如何用模板做网站
  • 网站推广结束语wordpress 搜索页描述
  • 开发手机网站的步骤页面设计原型图是什么
  • 湖南云网站建设网站设计毕业设计
  • 网站建设免费售后服务同城app开发多少钱
  • 温州展厅设计公司上首页的seo关键词优化
  • 建设网站相关法律条文wordpress修改登录界面
  • 网站栏目词视频直播软件
  • 已有网站做移动网站中国核工业第五建设有限公司
  • 湖北硕丰建设有限公司网站wordpress 内容替换
  • 阿里快速建站c2c电子商务网站有哪些
  • 做 在线观看免费网站有哪些安顺网站建设公司
  • 自适应 WordPress 主题seo顾问服务咨询
  • 哪个网站专做民宿spark网站开发
  • 盐都区城乡建设局网站网站转移后后台无法登陆
  • app优化网站开发vuejs做视频网站设计
  • 网站备案变更主体河北邯郸最新消息
  • 青岛网站建设哪个好html代码入门基础