跳到主要内容

2.2 Solon 快速开始

环境要求

环境版本要求
JDK8+
Maven3.6+
Solon3.x

Maven 依赖

<dependency>
<groupId>top.dlzio</groupId>
<artifactId>dlz-db-solon-plugin</artifactId>
<version>8.0.0</version>
&lt;/dependency>

&lt;!-- 下方 DataSource 示例使用 HikariCP -->
&lt;dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>4.0.3</version>
&lt;/dependency>

&lt;!-- 下方示例连接 MySQL;使用其他数据库时替换为对应驱动 -->
&lt;dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.32</version>
<scope>runtime</scope>
&lt;/dependency>

插件通过 Solon SPI 自动加载,无需手动配置 Plugin 类,但不会替应用提供连接池实现或数据库驱动。应用必须引入所选的 DataSource 实现和 JDBC 驱动,并在 Solon 容器中提供一个 DataSource Bean,插件获取到它以后才能完成初始化。

如果使用 Solon 声明式事务 @Tran,还必须显式引入 solon-data;它在 DLZ-DB 插件中是可选依赖,不会传递给应用:

&lt;dependency>
<groupId>org.noear</groupId>
<artifactId>solon-data</artifactId>
<version>3.0.6</version>
&lt;/dependency>

yaml 配置

# app.yml
dlz:
db:
logic-delete-field: deleted
log:
show-run-sql: true
show-caller: true

DLZ-DB Solon Plugin 本身不会根据一段通用 datasource.* YAML 自动创建数据源。如果项目没有专门的数据源插件,请显式注册:

@Configuration
public class DataSourceConfig {
@Bean
public DataSource dataSource() {
HikariConfig config = new HikariConfig();
config.setDriverClassName("com.mysql.cj.jdbc.Driver");
config.setJdbcUrl("jdbc:mysql://localhost:3306/test?useSSL=false");
config.setUsername("root");
config.setPassword("123456");
return new HikariDataSource(config);
}
}

完整的数据源注册、插件初始化和事务说明见 4.2 Solon 完整集成