Solon Aop 特色开发(1)注入或手动获取配置
Solon,更小、更快、更自由!本系列专门介绍Solon Aop方面的特色:
常规操作,先启动 Solon
public class App{
public void main(String[] args){
Solon.start(App.class, args);
}
}
一、如何通过注入获得配置?
- 注入到字段
@Service
public class DemoService{
//注入值,并开启自动更新
@Inject(value="${track.url}", autoRefreshed=true)
String trackUrl;
//注入配置集合
@Inject("${track.db1}")
Properties trackDbCfg;
//注入Bean(根据对应的配置集合生成并注入)
@Inject("${track.db1}")
HikariDataSource trackDs;
}
- 注入到配置器的构建参数(与注入字段的方式差不多)
@Configuration
public class DemoConfig{
@Bean
public DataSource db1(@Inject("${track.db1}") HikariDataSource ds) {
return ds;
}
}
二、如何手动获得配置?
- 给字段赋值
public class DemoService{
//获取值
String trackUrl = Solon.cfg().get("track.url");
//获取配置集合
Properties trackDbCfg = Solon.cfg().getProp("track.db1");
//获取bean(根据配置集合自动生成)
HikariDataSource trackDs = Solon.cfg().getBean("track.db1", HikariDataSource.class);
}
- 构建Bean给配置器用
@Configuration
public class DemoConfig{
@Bean
public DataSource db1() {
return Solon.cfg().getBean("track.db1", HikariDataSource.class);
}
}
附:Solon 是什么?
一个插件式的 Java 微型基础开发框架。支持Web、Job、Remoting、MicoService等开发。
项目地址:
附:入门示例
- Solon 入门教程示例:https://gitee.com/noear/solon_demo
- Solon Rpc 入门教程示例:https://gitee.com/noear/solon_rpc_demo
- Solon Cloud 入门教程示例:https://gitee.com/noear/solon_cloud_demo
- Solon 进阶教程示例:https://gitee.com/noear/solon_advance_demo