当前位置: 首页 > news >正文

哈尔滨网站优化如何廊坊优化技巧

哈尔滨网站优化如何,廊坊优化技巧,网站建设色彩,进入4399电脑网页版前言 最近看到RuoYi-Vue-Plus翻译功能 Translation的翻译模块配置类TranslationConfig,其中有一个注入TranslationInterface翻译接口实现类的写法让我感到很新颖,但这种写法在Spring 3.0版本以后就已经支持注入List和Map,平时都没有注意到这…

前言

最近看到RuoYi-Vue-Plus翻译功能 Translation的翻译模块配置类TranslationConfig,其中有一个注入TranslationInterface翻译接口实现类的写法让我感到很新颖,但这种写法在Spring 3.0版本以后就已经支持注入ListMap,平时都没有注意到这一块,故此记录一下这种写法。

翻译模块配置类

TranslationConfig这里是翻译配置初始化的地方

package com.ruoyi.framework.config;import com.fasterxml.jackson.databind.ObjectMapper;
import com.ruoyi.common.annotation.TranslationType;
import com.ruoyi.common.translation.TranslationInterface;
import com.ruoyi.common.translation.handler.TranslationBeanSerializerModifier;
import com.ruoyi.common.translation.handler.TranslationHandler;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;import javax.annotation.PostConstruct;
import java.util.HashMap;
import java.util.List;
import java.util.Map;/*** 翻译模块配置类** @author Lion Li*/
@Slf4j
@Configuration
public class TranslationConfig {@Autowiredprivate List<TranslationInterface<?>> list;@Autowiredprivate ObjectMapper objectMapper;@PostConstructpublic void init() {Map<String, TranslationInterface<?>> map = new HashMap<>(list.size());for (TranslationInterface<?> trans : list) {if (trans.getClass().isAnnotationPresent(TranslationType.class)) {TranslationType annotation = trans.getClass().getAnnotation(TranslationType.class);map.put(annotation.type(), trans);} else {log.warn(trans.getClass().getName() + " 翻译实现类未标注 TranslationType 注解!");}}TranslationHandler.TRANSLATION_MAPPER.putAll(map);// 设置 Bean 序列化修改器objectMapper.setSerializerFactory(objectMapper.getSerializerFactory().withSerializerModifier(new TranslationBeanSerializerModifier()));}}

可以看到在这个配置类中注入了一个List集合,其类型为TranslationInterface翻译接口

我们来看一下它的实现类

这些实现类定义在common模块的translation包下,分别是部门字典OSS用户名的翻译实现

Spring会扫描TranslationInterface翻译接口实现类注入到List

我们来Debug看一下效果,可以看到TranslationInterface翻译接口的实现类确实全部已经注入进来了

由于@Autowired注解还可以注入BeanMap中,这里我们手动加上Map集合,Debug断点调试一下:

http://www.dinnco.com/news/29293.html

相关文章:

  • 网站空间租用网络优化的内容包括哪些
  • html图案代码大全北京seo如何排名
  • 网站做的题不小心关闭了网络营销成功案例介绍
  • 济南做网站企业海南百度首页广告
  • 深圳高端网站制作价格优化营商环境个人心得体会
  • 乌鲁木齐网站建设价格百度如何推广产品
  • 青岛网站建设服务器北京seo排名服务
  • 本科学历30天出证成都seo网络优化公司
  • 自适应网站什么意思seo西安
  • 男科医院网站开发策划广州市最新消息
  • 建设局查询网站首页网络营销的主要工作有哪些
  • 重庆疫情最新公布关键词优化哪家好
  • 网站制作与美育融合搜索引擎排名查询工具
  • 后期网站开发搜索引擎营销有哪些
  • 如何做微网站百度指数数据分析平台
  • cpa怎么做网站聊城网站开发
  • 目录搜索引擎网站seo教程书籍
  • 做网站的时候公共部分怎么分离淘数据官网
  • 网站建设价格在哪济南兴田德润优惠吗百度学术官网首页
  • 不用网站做cpa做网站公司排名
  • wordpress建站详解网络优化工程师简历
  • 网站备案 快递2345浏览器导航页
  • 襄阳公司网站建设注册教育培训机构需要什么条件
  • 做upc条形码的网站百度爱采购竞价
  • 珍岛做网站怎么样网推平台
  • wordpress论坛功能网络优化工程师
  • wordpress 添加qq合肥网站seo推广
  • 互联网站安全服务平台操作指南如何推广seo
  • 公司做网站百度可以搜到吗百度热搜榜今日头条排名
  • github做网站服务器巨量算数数据分析