dawdler-boot 快速上手
注意:
为了方便演示常用的示例,开始之前需要安装个mysql数据库.
创建数据库与表:
CREATE DATABASE `user-demo` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
use user-demo;
CREATE TABLE `t_user` (
`id` int NOT NULL AUTO_INCREMENT COMMENT '用户ID',
`username` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '用户名',
`password` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '密码',
`email` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '邮箱',
`phone` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '手机号码',
`created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='用户表';
其他组件(rabbitmq,redis,elasticsearch)的配置会在不同的使用案例中有说明.
选择适合你的jdk版本 目前有jdk1.8 jdk17 jdk21
1. 单应用版
下载示例dawdler-boot-web-app.zip,版本为jdk1.8.
运行UserWebApplication.java的main方法.
@DawdlerBootApplication
public class UserWebApplication {
public static void main(String[] args) throws Throwable {
DawdlerWebApplication.run(UserWebApplication.class, args);
}
}
通过postman或游览器访问 http://localhost:8082/user/info?id=1
1.1 项目结构说明
controller -> UserController.java web api的入口
service -> UserService.java 服务接口
server.impl -> UserServiceImpl.java 服务实现层
mapper -> UserMapper.java 数据库操作层
entity -> User.java 实体类
1.2 配置文件说明
undertow.yml
web-conf.xml
1.3 通过jar包方式运行
通过运行
mvn clean package
获得 dawdler-boot-web-app-1.0-SNAPSHOT-all.jar
运行
java -jar dawdler-boot-web-app-1.0-SNAPSHOT-all.jar
2. 微服务版
微服务版依赖于zk或consul做注册中心,建议使用consul.
参考安装consul.
下载示例dawdler-boot-micro-service.zip,版本为jdk1.8.
2.1 项目结构说明
user-api 用户api 存放接口定义,dto,entity.
user-service 用户服务实现层,运行在dawdler容器中.提供远程调用服务,一般注册在consul或zk等注册中心中.
user-web-api web接口 提供web服务,一般部署在web容器中并调用服务实现层进行数据交互.
2.2 user-service 配置文件说明
dawdler-config.yml 统一配置中心配置文件.
dawdler.keystore 私钥,如果需要自己制作可以参考 采用keytool制作证书.
server-conf.xml dawdler服务器配置文件,私钥证书配置,服务器tcp配置,认证模块,健康检测. 参考 server-conf.xml说明.
services-conf.xml 服务相关配置,数据库源,扫描器等. 参考:
services-conf.xml中mybatis的配置文件说明.
2.3 consul配置说明
登录consul控制台key-value列表,点击右侧create并创建以下内容:
2.3.1 consul 注册中心
Key or folder:
consul
value:
host: 127.0.0.1
port: 8500
2.3.2 数据库链接池配置
Key or folder:
user_writeDataSource
value:
type: com.zaxxer.hikari.HikariDataSource
jdbcUrl: jdbc:mysql://127.0.0.1:3306/user-demo?characterEncoding=utf8&useSSL=false&allowPublicKeyRetrieval=true
driverClassName: com.mysql.cj.jdbc.Driver
username: root
password:
maximumPoolSize: 20
minimumIdle: 2
2.4 user-web-api 配置文件说明
client-conf.xml 客户端调用服务端的配置文件,参考 client-conf.xml说明.
undertow.yml
web-conf.xml
dawdler.cer 公钥,如果需要自己制作可以参考 采用keytool制作证书.
2.5 启动并验证
2.5.1 启动user-service
运行UserServerApplication.java的main方法.
2.5.2 启动user-web-api
运行UserWebApplication.java的main方法.
2.5.3 验证
启动后访问 http://localhost:8082/user/info?id=1
.