black

Spring Boot深度实践之自动装配

混江龙づ霸主 提交于 2020-07-25 17:33:00
​ 转载本文需注明出处:微信公众号EAWorld,违者必究。 前言: 在Java服务端领域,Spring框架已是声名远扬,人们在使用其强大功能辅助开发的过程中,却也渐渐感受到随着项目规模的扩大,需要引入的Spring相关配置也越来越多,令人不胜其烦,而由Pivotal团队基于Spring框架推出的开源轻量级框架Spring Boot,就很好的解决了Spring时代项目配置繁琐的问题,至于Spring Boot是如何做到简化配置的,这就引出了我们今天的主题—Spring Boot自动装配。 目录: 1、什么是自动装配 2、Spring Boot自动装配之前世今生 Spring Framework手动装配 Spring Boot自动装配 3、Spring Boot自动装配实践 1.什么是自动装配 在机械制造工程中,机器装配的自动化已在多年前运用到实际的生产线上,例如,生产一台电动机,大量的零部件生产出来后,如果仍由手工装配,则劳动强度大、效率低、质量也不能保证,在数控装配机、自动装配线等工业技术问世后,大量零件自动装配成一台合格的机器已成为现实,毫无疑问,机械制造领域的自动装配大大地提升了生产力。 机械制造工程中的自动装配指的是零件直接自动组装成机器,同理,软件工程中的自动装配自然指的是软件模块之间的自动组装,最终成型一个完整的软件。 那么在SpringBoot框架中,仅通过少量代码

WPF如何实现一个漂亮的页签导航UI

ぐ巨炮叔叔 提交于 2020-07-25 14:37:17
最近看到一个比较漂亮的UI主界面,该UI是用左边的页签进行导航,比较有特色,就想着尝试用WPF来实现一下。经过一番尝试,基本上将UI设计图的效果用WPF程序进行了实现。下面介绍一下主要的思路: 1 UI设计  该UI的PSD设计图效果如下:   UI结构分析:先可以把UI分成上下两个区域,上面是一个区域放置一些appName,用户信息和配置按钮等,下面的再分成竖向的页签导航区域和内容区。但从WPF程序实现上来说,可以有多种区域划分方法,每个人的划分方法不同。 2 UI切图   内容区域的图片不做切图,它会动态根据左边的导航菜单的配置动态进行加载内容。本文只实现主界面UI框架。在Photoshop中可以在图片所在图层进行重命名,例如A的图层有一个按钮图标,可以将其命名为A.png(注意之前需要勾选Photoshop的生成【图片资源】项目),那么就可以在PSD文件同级目录中生成一个同名的文件夹,里面就有A.png的图标了! 3 WPF UI布局实现   PSD设计的UI需要转换成WPF程序,必须要将其UI结构用WPF的布局进行重新梳理,我的布局划分(主要是Grid)代码如下所示: 1 < Window 2 xmlns ="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 3 xmlns:x ="http:/

2.CSS3选择器

一世执手 提交于 2020-07-25 13:02:49
# 2.CSS3选择器 - 新增的选择器 1. 关系选择器 E+F:下一个满足条件的兄弟元素节点 E~F:与E元素同级的所有F元素节点 2. 属性选择器 E[attr~='val']:attr属性中存在一个独立的val值 E[attr|='val']:attr属性中val开头或val-开头的 E[attr^='val']:attr属性中val开头 E[attr$='val']:attr属性中val结尾 E[attr*='val']:attr属性存在val值 3. 伪元素选择器 //文本框中提示信息 E::placeholder{//只能设置下面一个属性 color:#ccc; } //选中后的效果 E::selection{//只能设置下面三个属性 color:#ccc; text-shadow:1px 2px black; } 4. 伪类选择器:被选中元素的一种状态 E:not(.demo) class!='demo'的E元素 :root 根标签选择器。在HTML里,选择html节点 E:target 目标元素,多用于锚点 ----下面都要考虑其他同级元素,所以用的不多。是所有子元素 E:first-child 子元素中第一个元素且是E元素 E:last-child 子元素中最后一个元素且是E元素 E:only-child 子元素中只有一个元素且是E元素 E:nth-child

LaTeX公式手册(全网最全)

三世轮回 提交于 2020-07-25 08:28:15
本手册全新编排版正在施工,感兴趣的戳 这里 ! 参考维基百科的 数学公式教程 参考 Cmd Markdown 公式指导手册 本文为 MathJax 在 Markdown 环境下的语法指引。 如何插入公式 \(\LaTeX\) 的数学公式有两种:行中公式和独立公式(行间公式)。行中公式放在文中与其它文字混编,独立公式单独成行。 行中公式可以用如下方法表示: $ 数学公式 $ 独立公式可以用如下方法表示: $$ 数学公式 $$ 函数、符号及特殊字符 声调 / 变音符号 \dot{a}, \ddot{a}, \acute{a}, \grave{a} \({\displaystyle {\dot {a}},{\ddot {a}},{\acute {a}},{\grave {a}}}\) \check{a}, \breve{a}, \tilde{a}, \bar{a} \({\displaystyle {\check {a}},{\breve {a}},{\tilde {a}},{\bar {a}}}\) \hat{a}, \widehat{a}, \vec{a} \({\displaystyle {\hat {a}},{\widehat {a}},{\vec {a}}}\) 标准函数 指数 \exp_a b = a^b, \exp b = e^b, 10^m \({

点胶机:3轴, 6轴,你真的了解吗?

白昼怎懂夜的黑 提交于 2020-07-25 06:38:18
工业自动化进程中,点胶设备已成为不可缺少的一环。根据能够完成的轨迹动作,点胶机有3轴、6轴等分,下面,小编图文并茂地为大家介绍。 —————————— 三轴点胶机————————— 【结构形式】 三轴点胶机是工业自动化设备中,最为常见的一种。由X 、Y、 Z三个直线轴组成,能够完成左右、前后、上下方向上的移动。 【完成轨迹】 一般用它完成平面的点胶任务,比如点、直线、圆弧、椭圆、正圆等;当然它也可以完成空间螺旋线轨迹,但这类应用比较少见。 【工艺难点】 如果直线、不规则曲线、小圆弧等轨迹交叉进行,则容易在在轨迹结合处、拐角处,容易出现堆胶,或者胶量过少的等问题。 不过可以放心哟~我们目前生产的三轴点胶机已经攻克了这个问题。 —————————— 六轴点胶机————————— 【结构形式】 6 轴点胶机, 能够完成360度都需要点胶的产品 。 【完成轨迹】 6 轴点胶机能够完成空间曲线轨迹,几乎能够保证从任意角度接近工件。 【工艺优势】 1 、相比传统垂直向下点胶,工艺更加紧密、牢固; 2 、可到达多个元器件布局中的狭小区域,避免碰撞; 3 、针头/喷头可以实时调节倾斜角度,满足同一产品上不同区域的点胶要求; 通过以上讲解,您是否已经豁然开朗了? 我们在点胶机领域有10数年设计研发制造生产经验,3轴、6轴等点胶机设备,我们都能提供! 如果您还有什么疑问,欢迎与我们取得联系! 来源:

three.js 制作属于自己的动态二维码

|▌冷眼眸甩不掉的悲伤 提交于 2020-07-24 17:10:44
今天郭先生说一下用canvas解析图片流,然后制作一个动态二维码的小案例,话不多说先上图,在线案例点击 博客原文 。这是郭先生的微信二维码哦! 1. 解析图片流 canvas = document.createElement('canvas'); // 创建canvas画布 content = canvas.getContext('2d'); // 获取画布的上下文 canvas.width = 310; // 设置尺寸 canvas.height = 310 ; img = new Image(); // 创建一张图片 img.src = require("../assets/images/base/wechat.png"); // 设置图片地址 img.onload = () => { // 在图片加载后 content.drawImage(img, 0, 0, canvas.width, canvas.height); // 将图片添加到画布,并设置宽高 imgData = content.getImageData(0, 0, canvas.width, canvas.height).data; // 获取画布数据 }; imgData是什么样的呢?如下图 这是一个Uint8ClampedArray的类型化数组,这个数组出现最多的也是在imgData上。它会将负数归入0

RPi 4B pip3 UnicodeDecodeError

拜拜、爱过 提交于 2020-07-24 13:39:53
Exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 143, in main status = self.run(options, args) File "/usr/lib/python3/dist-packages/pip/_internal/commands/install.py", line 386, in run use_user_site=options.use_user_site, File "/usr/lib/python3/dist-packages/pip/_internal/req/__init__.py", line 49, in install_given_reqs **kwargs File "/usr/lib/python3/dist-packages/pip/_internal/req/req_install.py", line 760, in install use_user_site=use_user_site, pycompile=pycompile, File "/usr/lib/python3/dist-packages/pip/_internal

查看mongo表的字段

偶尔善良 提交于 2020-07-24 13:26:11
使用MapReduce可以对collection的字段进行统计 mr = db . runCommand ({ "mapreduce" : "collection_name" , "map" : function () { for ( var key in this ) { emit ( key , null ); } }, "reduce" : function ( key , stuff ) { return null ; }, "out" : "collection_name" + "_keys" }) 在上面的结果中使用 distinct 找出所有的keys: db [ mr . result ]. distinct ( "_id" ) 结果如下所示: 来源: oschina 链接: https://my.oschina.net/jennerlo/blog/4312465

Java集合之Map接口及其实现类

て烟熏妆下的殇ゞ 提交于 2020-07-23 19:25:04
目录 一、Map接口 二、HashMap 三、LinkedHashMap 四、TreeMap 五、HashTable 六、WeakHashMap 七、EnumMap 一、Map接口 Map提供了一种映射关系,其中的元素是以 键值对(key-value) 的形式存储的,能够实现根据key快速查找value; Map中的键值对以 Entry类型 的对象实例形式存在; 键(key值)不可重复,value值可以重复,一个value值可以和很多key值形成对应关系,每个建最多只能映射到一个值。 Map支持泛型,形式如: Map<K,V> Map中使用put(K key,V value)方法添加Map接口中定义的常用方法 具体使用在实现类中讨论 int size ( ) ; //获取Map集合大小(即元素数量) boolean isEmpty ( ) ; //判断是否为空 boolean containsKey ( Object key ) ; //判断是否包含某个键 boolean containsValue ( Object value ) ; //判断是否包含某个值 V get ( Object key ) ; //获取某个键对应的值 V put ( K key , V value ) ; //添加键值对(K,V) V remove ( Object key ) ; /

.Net 对于PDF生成以及各种转换的操作

随声附和 提交于 2020-07-23 18:42:22
前段时间公司的产品,要做一个新功能,签章(就是把需要的数据整理成PDF很标准的文件,然后在盖上我们在服务器上面的章) 然后我就在百度上找了找,发现搞PDF的类库很少,要么就要钱,要么就有水印,破解版的没找到。 先讲一讲我是怎么生成PDF的 1、生成PDF   这里用到了 Spire.Pdf 这个类库可以在NuGet里面搜索到 ,上面带个小红标的就是免费版本。     当然也可以去他们的官网,上面还有文档( https://www.e-iceblue.cn/Introduce/Spire-PDF-NET.html )。   代码(这是我自己写的一个测试的表格)    public static void abc() { // 创建PDF文档 Spire.Pdf.PdfDocument doc = new Spire.Pdf.PdfDocument(); // 添加一页 PdfPageBase page = doc.Pages.Add();      // 设置字体 PdfTrueTypeFont font = new PdfTrueTypeFont( new System.Drawing.Font( " Microsoft Yahei " , 20f), true ); PdfTrueTypeFont font1 = new PdfTrueTypeFont( new System