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

京东商城网站的搜索引擎营销做的案例分析网叶制作

京东商城网站的搜索引擎营销做的案例分析,网叶制作,电话销售网站建设,做yahoo代拍网站公司灵魂拷问#xff1a;YAML#xff0c;在项目中用过没#xff1f;它与 properties 文件啥区别#xff1f;目前 SpringBoot、SpringCloud、Docker 等各大项目、各大组件#xff0c;在使用过程中几乎都能看到 YAML 文件的身影。2017 年的时候#xff0c;我才真正把 YAML 文件…灵魂拷问YAML在项目中用过没它与 properties 文件啥区别目前 SpringBoot、SpringCloud、Docker 等各大项目、各大组件在使用过程中几乎都能看到 YAML 文件的身影。2017 年的时候我才真正把 YAML 文件用到负责的项目中当时用 YAML 文件主要是为 Sharding-JDBC 配置数据源以及分库分表的规则。从实际项目中把 sharding-jdbc.yaml 文件抽出来为了更清晰进行了大量简化接下来就一同感受一下 YAML 的魅力。1. 初步感受 YAML 的魅力。上图配置的内容虽然还没解释仔细去看配置大体都能看明白。其实这就是 YAML 比 properties 配置文件的优势所在层次感分明配置有序而且比较简洁。纵然配置已经很清晰还是要稍微带着看一看配置内容。dev 是一个对象对应于 Java 中的 Map包含 datasources 和 tables 两个属性。其本身含义是开发环境配置当然实际项目中也会有测试、准生产、生产的对应的配置。datasources 属性是一个数组对应于 Java 中的 List数组元素由 name、default 等 10 个属性构成。其本身含义是数据源配置因为涉及到分库所以会有好多库要连接图中只列举两个数据库tables 属性也是一个数组对应于 Java 中的 List数组元素由 tableName、databaseCount 等 5 个属性构成。其本身含义是要拆分表的规则配置图中只列举一个项目基本信息表。按照常规思路写好配置文件接下来就要校验一下再稍微格式化一下。在这儿校验Yaml文件http://www.bejson.com/validators/yaml/如上图所示YAML 文件校验转换之后就真的太清晰啦不过YAML 是很简单但是有些细节在开发中还是要注意否则入坑就难跳出(一旦入坑真的不好跳出来别问为什么一个空格难倒英雄汉真心体会过)。Tips:1. 使用冒号加缩进的方式代表层级关系使用短横杠代表数组元素2. 注意缩进不允许使用「tab」键只能使用空格键(曾经掉这个坑啦记忆之深刻)3. 缩进空格个数多少并不重要只要相同层级的元素左对齐即可4. 如果冒号后跟着 value一定要注意冒号后跟上空格呦5. YAML 大小写很敏感。有关 YAML 的更多规范可以参考如下 pdf本次不过多展开去讲。https://yaml.org/spec/1.2/spec.pdf2. YAML 配置有了该怎么去解析呢在不同的编程语言中都有很多三方工具可以解析 YAML 文件而在 Java 项目可以用 SnakeYaml 进行解析接下来就写写代码体验一下 yaml 文件的解析。首先引入依赖包(想用人家就别想撇清关系)org.yamlsnakeyaml1.18码点代码(从原项目中直接拿来为了清晰索性只留解析 YAML 文件部分的代码呈现给你)import org.apache.commons.collections4.MapUtils;import org.yaml.snakeyaml.Yaml;import java.io.File;import java.io.FileReader;import java.io.IOException;import java.util.ArrayList;import java.util.LinkedHashMap;import java.util.Map;/*** author 一猿小讲*/public class ShardingJdbcDataSource {private static LinkedHashMap profile;SuppressWarnings(unchecked)public static ArrayList parse(String profileId, String key) throws IOException {//如果profile为空的情况才进行加载配置文件,减少读取文件的次数if (MapUtils.isEmpty(profile)) {Yaml yaml new Yaml();File file new File(ShardingJdbcDataSource.class.getResource(/).getPath() sharding-jdbc.yaml);try (FileReader fileReader new FileReader(file);) {Map result yaml.loadAs(fileReader, Map.class);profile (LinkedHashMap) result.get(profileId);}}return (ArrayList) profile.get(key);}public static void main(String[] args) throws IOException {// 开发环境String profileId dev;// 数据源集合ArrayList datasources parse(profileId, datasources);for (LinkedHashMap datasource : datasources) {System.out.println(String.format(数据库名称%s,datasource.get(name)));System.out.println(String.format(数据库URL%s,datasource.get(jdbc.url)));}System.out.println(华丽的分割线);// 表集合ArrayList tables parse(profileId, tables);for (LinkedHashMap table : tables) {System.out.println(String.format(表名称%s,table.get(tableName)));System.out.println(String.format(数据库拆分 %d 个,table.get(databaseCount)));System.out.println(String.format(每个数据库表的数目%s,table.get(tableCountPerDatabase)));}}}去掉 main 函数发现解析代码没几行跑起来看一看效果还可以。文中的解析 YAML 文件的代码改个类名就可以直接变成工具类如果有需要自行简单封装一下就 ok 啦。其中 SnakeYaml 类库还有很多 API 可以使用不一一带着写代码啦感兴趣的自行参考 SnakeYaml 官方文档去照猫画虎敲敲吧。https://bitbucket.org/asomov/snakeyaml/wiki/Documentation另外细心的你在平时研发时有没有发现有的项目 YAML 文件的后缀是 .yml有的项目却是 .yaml到底哪个是正确的呢很久很久之前我也纠结过感兴趣可以去 stackoverflow 溜达一番。https://stackoverflow.com/questions/21059124/is-it-yaml-or-yml3. 它山之石可以攻玉在 Java 项目研发过程中总会遇到一些经常改变的参数比如要连接的数据库的连接地址、名称、用户名、密码再比如访问三方服务的 URL 等等。考虑到程序的通用性这些参数往往不能直接写死在程序里通常借助配置文件来优雅处理而常用的配置文件多数为 Properties而相对 Properties 而言 YAML 却表现的更加层次分明。好了有关 YAML 文件在实际项目中的使用本次就谈到这里它山之石可以攻玉希望能对你有所帮助。
http://www.zqtcl.cn/news/616692/

相关文章:

  • 英文书 影印版 网站开发怀化组织部网站
  • 网站建设领域的基本五大策略要学会网站细节
  • dede做英文网站优化cms建站系统哪个好
  • eclipse sdk做网站邯郸技术服务类
  • 汕头网站网站建设西安网约车租车公司哪家好
  • 网站空间域名维护协议网络推广软件平台
  • 昆明网站建设公司猎狐科技怎么样wordpress主题打不开
  • 网站推广入口服饰网站建设 e-idea
  • 长沙网站建设电话2个女人做暧暧网站
  • 手机手机端网站建设电子商务网站建设步骤一般为
  • 上海金瑞建设集团网站怎样登陆网站后台
  • 定西模板型网站建设网络架构和现实架构的差异
  • 做搜索的网站做网站的代码有哪些
  • 视频制作网站推荐js做音乐网站
  • 海北wap网站建设公司有后台网站怎么做
  • 织梦网站最新漏洞入侵外贸网站模板有什么用
  • 在跨境网站贸易公司做怎么样网站建设维护合同范本
  • 网站必须做可信认证南山网站制作
  • 如何使用mysql数据库做网站企业管理专业大学排名
  • 九江网站建设九江深圳网站建设费用大概多少
  • 万网站长工具郑州seo哪家公司最强
  • 宁波哪里可以做网站企业网站源码哪个好
  • 网站每天点击量多少好精选聊城做网站的公司
  • 网站建设课程基础兰州网站seo费用
  • 天助可以搜索别人网站曲靖网站推广
  • 易语言编程可以做网站么网站备案流程
  • 我想接加工单seo搜索引擎优化工资
  • 西宁做网站君博推荐wordpress如何管理
  • 个人建一个网站多少钱怎样优化网络速度
  • 网站建设项目进度表长春百度seo代理