3.4 Solon 整合
什么是 Solon
面向全场景的 Java 企业级应用开发框架:克制、高效、开放、生态!并发高 300%;内存省 50%;启动快 10 倍; 打包小 90%;同时兼容 java8 ~ java23。(可替换 Spring)
- Solon 项目地址:https://solon.noear.org/
特性
- 自动配置数据源
- Mapper 接口注入
- 支持多数据源
- 支持事务控制
配置方法
首先引入依赖包,当前版本:6.7.0
Maven 依赖
<dependency>
<groupId>net.hasor</groupId>
<artifactId>dbvisitor-solon-plugin</artifactId>
<version>最新版本的版本号</version>
</dependency>
选用 HikariCP 作为数据库链接池
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>4.0.3</version>
</dependency>
配置文件
solon.dataSources:
default!: # 数据源名称(尾部 ! 标识默认数据源)
class: "com.zaxxer.hikari.HikariDataSource"
jdbcUrl: "jdbc:mysql://127.0.0.1:13306/devtester?allowMultiQueries=true&user=root&password=123456"
dbvisitor:
default: # 对应的数据源名称
mapperLocations: classpath:dbvisitor/mapper/*.xml
mapperPackages: net.hasor.dbvisitor.test.dao.*
注入 Mapper
@Controller
public class HelloController {
@Inject
private UserMapper userMapper;
@Get
@Mapping("/hello")
public String hello(String name) {
return ...
}
}
public interface UserMapper extends BaseMapper<UserDTO> {
...
}
Example
可注入类型
- JdbcOperations 接口,JdbcTemplate 是它的实现类
- LambdaOperations 接口,LambdaTemplate 是它的实现类
- Configuration 配置类
- Session 类
- 自定义 Mapper
相关的类
- net.hasor.dbvisitor.jdbc.JdbcOperations
- net.hasor.dbvisitor.jdbc.core.JdbcTemplate
- net.hasor.dbvisitor.lambda.LambdaOperations
- net.hasor.dbvisitor.lambda.LambdaTemplate
- net.hasor.dbvisitor.transaction.TransactionTemplate
- net.hasor.dbvisitor.session.Configuration
- net.hasor.dbvisitor.session.Session
- net.hasor.dbvisitor.mapper.BaseMapper
注入提示
- 以上注入的类型支持 @Db、@Inject 注解
- @Db 可以通过 @Db("name") 在多数据源下指定数据源名称