自动注入@InjectField的使用
发布日期:2021-06-30 22:58:45 浏览次数:2 分类:技术文章

本文共 2663 字,大约阅读时间需要 8 分钟。

1.添加依赖

com.bamboo
bamboo-injection-starer
1.0-SNAPSHOT

2.application.yml配置

bamboo:  injection:    # 是否启用 远程数据 手动注入    enabled: true    # 是否启用 远程数据 注解注入     aop-enabled: true

3.在需要注入的对象上添加注解@InjectionField

import static com.bamboo.common.constant.InjectionFieldConstants.ORG_ID_CLASS;import static com.bamboo.common.constant.InjectionFieldConstants.ORG_ID_METHOD;public class Station {
// 正常的字段 private String name; /** * 行政区级 * @InjectionField(api = DICTIONARY_ITEM_CLASS, method = DICTIONARY_ITEM_METHOD) RemoteData
* * */ @InjectionField(api = "dictionaryItemServiceImpl", method = "findDictionaryItem") private RemoteData
level; /** * 组织ID * 需要注入 组织的相关数据 */ @InjectionField(api = ORG_ID_CLASS, method = ORG_ID_METHOD) private RemoteData
org;}

4.手动注入:

public class Controller{
@Autowired private InjectionCore injectionCore; @Test public void test(){
Station station = Station.builder().org(new RemoteData(101L)).level(new RemoteData("CITY")).build(); // 从数据库连查询出来 // 手动注入 ,注意:不调用该方法,不会注入数据 injectionCore.injection(station); log.info(station); Station station1 = Station.builder().org(new RemoteData(101L)).level(new RemoteData("CITY")).build(); Station station2 = Station.builder().org(new RemoteData(102L)).level(new RemoteData("DIQU")).build(); List
list = Arrays.asList(station1, station2); // 从数据库连查询出来 // 手动注入 ,注意:不调用该方法,不会注入数据 injectionCore.injection(list); log.info(list); }}

5.自动注入:

public class Controller{
@Autowired private Service service; @Test public void test(){
// 直接调用 Station station = service.get(); log.info(station); // 直接调用 List
list = service.list(); log.info(list); }}@org.springframework.stereotype.Servicepublic class Service{
// 通过这个注解 实现注入 @InjectionResult public Station get(){
Station station = Station.builder().org(new RemoteData(101L)).level(new RemoteData("CITY")).build(); // 从数据库连查询出来 return station; } // 通过这个注解 实现注入 @InjectionResult public List
list(){
Station station1 = Station.builder().org(new RemoteData(101L)).level(new RemoteData("CITY")).build(); Station station2 = Station.builder().org(new RemoteData(102L)).level(new RemoteData("DIQU")).build(); List
list = Arrays.asList(station1, station2); // 从数据库连查询出来 return list; }}

转载地址:https://lukeyalvin.blog.csdn.net/article/details/104247076 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:构建一个简单的MyBatis-Plus工程
下一篇:一个简单的例子学会mybatis-generator+tk.mybatis插件 实现父子表关系查询

发表评论

最新留言

很好
[***.229.124.182]2024年04月28日 04时28分01秒