Solon 开发之常用注解
本系列提供Solon 注解方面的知识。且对关键注解会有详细说明。目前常用注解有:
注解 | 说明 |
---|---|
@Inject * | 注入托管对象(by type) |
@Inject("name") | 注入托管对象(by name) |
@Inject("${name}") | 注入配置(可由基础类型或结构体接收) |
@Singleton | 单例申明(Solon 默认是单例) |
@Singleton(false) | 非单例 |
@Import | 配置组件导入或扫描(作用在启动主类上或 @Configuration 类上,才有效) |
@PropertySource | 配置属性源(作用在启动主类上或 @Configuration 类上,才有效) |
@Configuration | 托管配置组件类(与 @Inject, @Bean 共同完成初始化配置、构建托管对象等) |
@Bean | 配置托管对象(作用在 @Configuration 类的函数上,才有效) |
@Condition | 配置条件(v2.1.0 支持) |
@Controller | 控制器组件类(支持函数拦截) |
@Remoting | 远程控制器类(有类代理;即RPC服务端) |
@Mapping... | 映射(可附加 @Get、@Post、@Socket 等限定注解) |
@Param | 请求参数(一般没什么用处,需要默认值或名字不同时用) |
@Header | 请求头 |
@Cookie | 请求Cookie |
@Body | 请求体(一般没什么用处。仅在注入 body string 时用,其它场景可略) |
@ServerEndpoint | WebSocket 与 Socket 的服务端注解(作用在 Listener 接口实现类上有效) |
@ClientEndpoint | WebSocket 与 Socket 的客户端端注解(作用在 Listener 接口实现类上有效) |
@Component | 普通托管组件(可自动处理特殊对象,且可被注解提取函数) |
@ProxyComponent | 代理托管组件(支持函数拦截和切入) |
@Init * | 构造完成并注入后的初始化(在容器加载完成后被执行) |
@TestPropertySource | 配置测试属性源 |
@TestRollback | 执行测试回滚 |
托管组件的初始化顺序:new() - > @Inject -> afterInjection()- > start() -> stop()