Java服务之spi机制简要说明和实践

一、SPI概念  这里先说下SPI的一个概念,SPI英文为Service Provider Interface单从字面可以理解为Service提供者接口,正如从SPI的名字去理解SPI就是Service提供者接口;我对SPI的定义:提供给服务提供厂商与扩展框架功能的开发者使用的接口。   当服务的提供者,提供了服务接口的一种实现之后,在jar包的META-INF/services/目录里同时创建一个以服务接口命名的文件。该文件里就是实现该服务接口的具体实现类。而当外部程序装配这个模块的时候,就能通过该jar包META-INF/services/里的配置文件找到具体的实现类名,并装载实例化,完成模块的注入。 很多框架都使用了java的SPI机制,如java.sql.Driver的SPI实现(mysql驱动、oracle驱动等)、common-logging的日志接口实现、dubbo的扩展实现等等框架;

RESTful-WebService初识入门NO.1

RESTful WebService是把一切对象方法看做资源,开发RESTful WebService意味着支持在多种媒体类型以及抽象底层的客户端-服务器通信细节,如果没有一个好的工具包可用,会变得不那么容易。为了简化使用JAVA开发RESTful WebService及其客户端,一个轻量级的标准被提出:JAX-RS API。Jersey RESTful WebService框架是一个开源的、产品级别的JAVA框架,支持JAX-RS API并且是一个JAX-RS(JSR 311和 JSR 339)的参考实现。

轻量级极速数据层访问框架mango

最近逛论坛发现了一个轻量级极速数据层访问框架--mango。能够实现分表分库,功能还算比较强大。据官网介绍,mango的中文名是“芒果”,它是一个轻量级极速数据层访问框架。目前已有十多个大型线上项目在使用mango,在某一支付系统中,更是利用mango,承载了每秒12万的支付下单请求。 下面是mango的一些特性: 超高性能,响应速度接近直接使用JDBC 采用接口与注解的形式定义DAO,完美结合db与cache操作 支持动态sql,可以构造任意复杂的sql语句 支持多数据源,分表,分库,事务