精华内容
参与话题
问答
  • VSCODE 打造完美java开发环境

    万次阅读 多人点赞 2018-01-23 11:56:58
    vscode Java 开发环境配置 (此博客已更新, 之前的排版不利于阅读) 使用vscode后,你可能无法忍受 eclipse :) 最后更新时间: 2018-07-01 (博客地址) 系统需安装jdk1.8,配置好环境变量JAVA_HOME 打开vscode,...

     

     

    vscode Java 开发环境配置

    VsCode 对 Java 的支持优化了许多(此博客是富文本编辑器编写,不方便更新,迁移到 新地址

    使用vscode后,你可能无法忍受 eclipse :)

    最后更新时间: 2020-05-30

    (博客地址)

    系统需安装jdk1.8,配置好环境变量JAVA_HOME

    打开vscode,安装java相关插件

    1. Language support for Java ™ for Visual Studio Code
    2. Java Extension Pack
    3. Debugger for Java
    4. Java Test Runner

    以上插件安装完成,就可以开始java开发了

    个人推荐插件

    1. Eclipse Keymap for Visual Studio Code. (eclipse快捷键,eclipse用户最爱)
    2. Lombok Annotations Support for VS Code. (简化POJO, 很惊喜)

    开发基本配置

    常用配置项: 文件->首选项->设置

    1. maven 配置(如果本地有安装maven)

      "java.configuration.maven.userSettings": "/home/luokai/maven/apache-maven-3.3.9/conf/settings.xml"

      < !--mirrors 中配置 mirror -->推荐使用maven阿里仓库:在settings.xml添加

      <mirrors>
          <mirror>
              <id>alimaven</id>
              <name>aliyun maven</name>
              <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
              <mirrorOf>central</mirrorOf>
          </mirror>
      </mirrors>
    2. 全局搜索忽略文件夹,搜索文件时常常需要忽略target文件

      "search.exclude": {
                  "**/node_modules": true,
                  "**/bower_components": true,
                  "**/target": true,
                  "**/logs": true
              }
    3. junit 测试,Java Test Runner插件运行多模块项目test存在问题 GitHub issues 现已解决 : ), 在 0.7.1 版本

      推荐一种繁琐的方式: 依赖maven

      任务->配置任务

      在tasks 数组中添加以下配置:

      "tasks": [
          {
              "label": "test:HelloWorld",
              "type": "shell",
              "command": "mvn -Dtest=HelloWorldTest#testHelloWorld test",
              "group": "test"
          },

      执行test:command : 是运行指定的单元测试 ,HelloWorldTest.testHelloWorld()方法

      任务->运行任务
      选择刚刚添加的 test case,完美运行

    4. 使用 tomcat 调试 web 项目

      • 安装 Tomcat for Java 插件
      • 点击侧边栏 TOMCAT SERVERS 右边 + 号,选择本地安装的 tomcat。
      • 选择 war 包运行。

        PS: 在调试前注意构建最新的 war 包

    小技巧:

    1. 取消单击打开文件覆盖导航栏:
      • 文件->首选项->设置, 添加 "workbench.editor.enablePreview": false,

     

    展开全文
  • 两年Java开发工作经验面试总结

    万次阅读 多人点赞 2017-05-08 23:45:41
    动机: 最近换了个公司,从三月底开始面,面到四月底,面了有快二十家公司。我是一个喜欢总结经验的人,每经过一场面试,我在回来的路上都会仔细回想今天哪些问题可以答的更好,或者哪些问题是自己之前没遇到过的...

    动机:

    最近换了个公司,从三月底开始面,面到四月底,面了有快二十家公司。我是一个喜欢总结经验的人,每经过一场面试,我在回来的路上都会仔细回想今天哪些问题可以答的更好,或者哪些问题是自己之前没遇到过的,或者是哪个知识点今天又问了等等。四月中旬的时候,我就在构思要写一篇面经,主要是想着可能对那些跟我相同处境的人有点帮助,再者就是稍微记录下这为期一个月的面试过程。
    本文地址:http://blog.csdn.net/v123411739/article/details/71437307

    个人介绍:

    首先介绍下我面试时的自身条件情况,我把自己的情况分为优势和劣势来说可能更有利于你们比较自身情况。

    劣势:

    1. 15年7月毕业后开始到上海工作,面试的时候是17年3月到4月,一年多的经验,勉强算两年经验。分析:一年多经验我认为是比较尴尬的,处于一个不上不下的位置,很多公司比较喜欢招三年经验的,或者直接招应届生来培养。
    2. 毕业于一个非985/211,勉强上一本的高校。分析:这个相对影响较小,因为有工作经验后,公司对学校的要求就没那么高了,只要是本科就基本没问题,但是还是有个别叼毛公司只要985/211。
    3. 前一家公司是传统电信行业,加入项目组时,项目已经上线有段时间了,我们的任务就是有需求就开发,有bug就优化,其他时间就聊骚,各干各的,工作一年多跟在养老一样,用一句话说就是编程5分钟,扯淡2小时,项目经验严重不足,没开发过很难的需求。分析:这一点是最伤的,公司招有经验的就想看你都干了些什么牛批的东西,结果你告诉面试官我写的需求都是垃圾。

    优势:

    1. 大学时拿过比较多的奖,校级优秀学生,市级优秀毕业生,省级ACM二等奖等。分析:大学的荣誉对一个有工作经验的人来说,公司不一定会看重,但是可能会对面试官产生微妙的影响,特别是ACM奖,我碰到过有的面试官也是搞过ACM的,有共同的话题聊起来总是比较容易的,但是也要注意不能把这一栏篇幅写的过于多,只能当作点缀用,我当时是放在简历最后一栏,简要的写了最主要的几个奖。
    2. 良好的沟通交流能力。分析:这个能力不会是关键性的,但是可以加分。
    3. 较强的学习能力和逻辑思维能力。分析:有些公司和面试官还是比较看重一个人的学习能力的,经验代表着你现在在什么级别,而学习能力则代表着你将来能到达什么级别。

    学习过程:

    看了我的优劣势介绍,你会发现我的优势相对于我的劣势来说,简直不值一提。我自己对此也有清晰的认识,因此从过完年之后,我就开始抓紧空闲时间学习。学习的过程如下:

    1.看面试题

    正常人第一步肯定都会看面试题,我也不例外,在看的过程中,我发现有些文章写的不错,对我帮助不小值得推荐,如下:

    2.深入学习

    在看面试题的过程,你会遇到一些自己没接触过的或者以前没深入学习过的知识,例如最常问的HashMap内部实现原理,这就促使你得开始去看JDK的源码或者是学习一些新的东西。看源码是很重要的一步,起步很难,但是会让你收益良多,看源码的过程如果碰到无法理解的地方,可以百度看下别人的理解。我学习源码的过程中,看过几个人的关于源码的文章写的很不错,如下:

    3.熟悉项目

    找出自己工作以来开发过的最叼的功能,将整个功能的流程和涉及的东西吃透(这边有个小捷径,如果你觉得项目中别人做的某个功能很牛逼,你可以把这个功能吃透,面试时可以拿出来讲)。项目是面试中必问的环节,一般是以一个功能点为基础展开问,因此你必须对这个功能有很深的认识,不能有模糊的地方。如果有时间,能把涉及到的知识点也搞懂最好。

    4.做笔试题

    有不少公司是有笔试的,如果你没有准备过,很容易在各种小地方犯错,建议去一些笔试题网站多做些题目,我自己是用的牛客网。

    5.学习记录

    把自己每天的学习时间和学习内容记录下来,可以让自己更有动力的学习,学习是一个枯燥的过程,你必须让自己时刻保持有动力。

    投简历、约面试环节

    1.在哪些网站投?

    拉勾网、BOSS直聘、猎聘网。

    2.是否该海投?

    投简历分为两个情况。

    1. 没有社招面试经验:建议采取海投的方式,只要职位要求跟自己比较匹配都可以投,累计面试经验。这个环节可以把投简历的网站增加两家:智联和无忧。
    2. 自认为社招面试经验已经足够:投那些职位匹配、公司满意的职位。公司评价可以去看准网、百度、知乎等查询。

    3.一天约几家面试合适?

    最理想的情况为2家面试,上午一般在10点左右,下午一般在2点左右。建议把理想的公司放下午,因为下午的时间比较充足,可以让公司更充分的了解你。我开始面的时候,每次都是上午面的不好,下午面的不错。

    4.投简历经常没下文?

    我当初也没想到简历筛选这关有这么难,可能是我的简历确实亮点不多,再者HR很多都不是行内人,因此他们看得最直接的就是你上家的公司和你毕业的学校,如果你不是从牛逼的公司/学校出来,可能会碰到和我一样的情况,应对的办法就是多投。

    5.是否该裸辞?

    我一开始是边上班边投,然后利用调休时间,或者请假去面试。后来,面试机会越来越多,请假太频繁了,自己都不好意思了,并且自己也已经有足够的信心,这个时候我选择了裸辞。裸辞还有一个原因是,在面试过程中你会发现,有的公司要人要的紧,如果你的辞职流程过长可能会导致你错过这个公司。

    6.注意事项

    1. 面试前一天把路线和时间算好,最好别迟到。
    2. 背个书包,带好简历、充电宝、纸巾、雨伞。

    面试环节

    1.笔试常见的问题?

    笔试常见的问题上面给的面试题链接基本都有。我只提几点:

    1. 写SQL很常考察group by、内连接和外连接。
    2. 手写代码:手写代码一般考单例、排序、线程、消费者生产者。我建议排序算法除了冒泡排序,最好还能手写一种其他的排序代码。试想:如果一般面试者都写的冒泡排序,而你写的是快速排序/堆排序,肯定能给面试官留下不错的印象。

    2.面试流程?

    1. 让你自我介绍
    2. 问Java基础知识
    3. 问项目
    4. 情景问题,例如:你的一个功能上了生产环境后,服务器压力骤增,该怎么排查。
    5. 你有什么想问面试官的

    3.面试常问的知识点?

    1)集合相关问题(必问):

    • HashMap、LinkedHashMap、ConcurrentHashMap、ArrayList、LinkedList的底层实现。
    • HashMap和Hashtable的区别。
    • ArrayList、LinkedList、Vector的区别。
    • HashMap和ConcurrentHashMap的区别。
    • HashMap和LinkedHashMap的区别。
    • HashMap是线程安全的吗。
    • ConcurrentHashMap是怎么实现线程安全的。

    2)多线程并发相关问题(必问):

    • 创建线程的3种方式。
    • 什么是线程安全。
    • Runnable接口和Callable接口的区别。
    • wait方法和sleep方法的区别。
    • synchronized、Lock、ReentrantLock、ReadWriteLock。
    • 介绍下CAS(无锁技术)。
    • volatile关键字的作用和原理。
    • 什么是ThreadLocal。
    • 创建线程池的4种方式。
    • ThreadPoolExecutor的内部工作原理。
    • 分布式环境下,怎么保证线程安全。

    3)JVM相关问题:

    • 介绍下垃圾收集机制(在什么时候,对什么,做了什么)。
    • 垃圾收集有哪些算法,各自的特点。
    • 类加载的过程。
    • 双亲委派模型。
    • 有哪些类加载器。
    • 能不能自己写一个类叫java.lang.String。

    4)设计模式相关问题(必问):

    • 先问你熟悉哪些设计模式
    • 然后再具体问你某个设计模式具体实现和相关扩展问题。

    5)数据库相关问题,针对Mysql(必问):

    • 给题目让你手写SQL。
    • 有没有SQL优化经验。
    • Mysql索引的数据结构。
    • SQL怎么进行优化。
    • SQL关键字的执行顺序。
    • 有哪几种索引。
    • 什么时候该(不该)建索引。
    • Explain包含哪些列。

    6)框架相关问题:

    • Hibernate和Mybatis的区别。
    • Spring MVC和Struts2的区别。
    • Spring用了哪些设计模式。
    • Spring中AOP主要用来做什么。
    • Spring注入bean的方式。
    • 什么是IOC,什么是依赖注入。
    • Spring是单例还是多例,怎么修改。
    • Spring事务隔离级别和传播性。
    • 介绍下Mybatis/Hibernate的缓存机制。
    • Mybatis的mapper文件中#和$的区别。
    • Mybatis的mapper文件中resultType和resultMap的区别。

    7)其他遇到问题:

    • 介绍下栈和队列。
    • IO和NIO的区别。
    • 接口和抽象类的区别。
    • int和Integer的自动拆箱/装箱相关问题。
    • 常量池相关问题。
    • ==和equals的区别。
    • 重载和重写的区别。
    • String和StringBuilder、StringBuffer的区别。
    • 静态变量、实例变量、局部变量线程安全吗,为什么。
    • try、catch、finally都有return语句时执行哪个。
    • 介绍下B树、二叉树。
    • ajax的4个字母分别是什么意思。
    • xml全称是什么。
    • 分布式锁的实现。
    • 分布式session存储解决方案。
    • 常用的linux命令。

    一些经验:

    1. 先投一些普通公司,等面出了心得再去投理想的公司。
    2. 不熟悉的技术不要主动提。
    3. 对于那种实习期6个月还打8折的公司,除非你没有其他选择了,否则不要去。
    4. 小公司喜欢在薪水上压你,开的时候适当提高。
    5. 不要去参加招聘会,纯粹是浪费时间。
    6. 把面试当作一次技术的交流,不要太在意是否能被录取。
    7. 公司一般面完就决定是否录取了,让你回去等消息这种情况一般没戏,无论你自己觉得面的有多好。
    8. 尽量少通过电话面试,效果不好。
    9. 在面试的日子里,要保持每天学习,无论是学习新东西还是复习旧东西。
    10. 拿到offer了,问问自己这个公司让自己100%满意了吗,如果不是,请继续努力找更好的。
    11. 通过面试官可以大概判断这家公司的情况。
    12. 拉勾投的简历很多会被筛掉,但是拉勾还是面试机会的最主要来源。
    13. 理想的公司可以多投几次,我有好几次都是第一次投被筛掉,多投几次就过的经验。
    14. 问到自己有深入研究过的知识,抓住机会好好表现,不要轻易放过。

    推荐阅读

    字节、美团、快手核心部门面试总结(真题解析)

    面试阿里,HashMap 这一篇就够了

    面试必问的 MySQL,你懂了吗?

    面试必问的线程池,你懂了吗?

    4 年 Java 经验,阿里网易拼多多面试总结、心得体会

    展开全文
  • Java开发星选一卡通

    2020-08-11 11:34:38
    Java开发星选一卡通
  • java开发工程师简历模板

    千次阅读 2019-07-22 15:14:31
    1. 面试指南 这篇文章还在更新,正在孵化,但是你可以借鉴是这里面的一点点经验…持续更新! 2. 简历的书写 HR筛选简历时,一般来说非常的快,可能你的简历10秒就被看完了。所以,简历要简单干脆 ...

    1.一份好的简历

    首先,一份好的简历不光说明事实,更通过FAB模式来增强其说服力。

    • Feature:是什么
    • Advantage:比别人好在哪些地方
    • Benefit:如果雇佣你,招聘方会得到什么好处

    其次,写简历和写议论文不同,过分的论证会显得自夸,反而容易引起反感,所以要点到为止。这里的技巧是,提供论据,把论点留给阅读简历的人自己去得出。放论据要具体,最基本的是要数字化,好的论据要让人印象深刻。

    举个例子,下边内容是虚构的:

    2014年,我参与了手机XX网发布系统WAPCMS的开发(这部分是大家都会写的)。作为核心程序员,我不但完成了网站界面、调度队列的开发工作,更提出了高效的组件级缓存系统,通过碎片化缓冲有效的提升了系统的渲染效率。(这部分是很多同学忘掉的,要写出你在这个项目中具体负责的部分,以及你贡献出来的价值。)在该系统上线后,Web前端性能从10QPS提升到200QPS,服务器由10台减少到3台(通过量化的数字来增强可信度)。2008年我升任WAPCMS项目负责人,带领一个3人小组支持着每天超过2亿的PV(这就是Benefit。你能带给前雇主的价值,也就是你能带给新雇主的价值。)。有同学问,如果我在项目里边没有那么显赫的成绩可以说怎么办?讲不出成绩时,就讲你的成长。因为学习能力也是每家公司都看中的东西。你可以写你在这个项目里边遇到了一个什么样的问题,别人怎么解决的,你怎么解决的,你的方案好在什么地方,最终这个方案的效果如何。具体、量化、有说服力,是技术简历特别需要注重的地方。以上内容在写完简历后,对每一段进行评估,完成后再删除


    2.联系方式

    (HR会打印你的简历,用于在面试的时候联系,所以联系方式放到最上边会比较方便)

    • 手机:132******** (如果是外地手机,可注明。如经常关机,要写上最优联系时间
    • Email:chenyn@gmail.com虽然我觉得QQ邮箱无所谓,不过有些技术人员比较反感,建议用G
    • QQ/微信号:6*******(提供一个通过网络可以联系到你的方式)****

    3.个人信息

    • 陈XX/男/1990
    • 本科/xxx大学
    • 工作年限:3年
    • 微博:@xiaochen如果没有技术相关内容,也可以不放
    • 技术博客:http://blog.github.io ( 使用GitHub Host的Big较高 )
    • Github:http://github.com/xxx ( 有原创repo的Github帐号会极大的提升你的个人品牌 )
    • 期望职位:Java高级程序员,架构师
    • 期望薪资:税前月薪15k~20k,特别喜欢的公司可例外
    • 期望城市:北京

    4.工作经历

    工作经历按逆序排列,最新的在最前边,按公司做一级分组,公司内按二级分组

    ABC公司 (2014年9月 ~ 2016年9月 )

    DEF项目

    我在此项目负责了哪些工作,分别在哪些地方做得出色/和别人不一样/成长快,这个项目中,我最困难的问题是什么,我采取了什么措施,最后结果如何。这个项目中,我最自豪的技术细节是什么,为什么,实施前和实施后的数据对比如何,同事和领导对此的反应如何。

    GHI项目

    我在此项目负责了哪些工作,分别在哪些地方做得出色/和别人不一样/成长快,这个项目中,我最困难的问题是什么,我采取了什么措施,最后结果如何。这个项目中,我最自豪的技术细节是什么,为什么,实施前和实施后的数据对比如何,同事和领导对此的反应如何。

    其他项目

    (每个公司写2~3个核心项目就好了,如果你有非常大量的项目,那么按分类进行合并,每一类选一个典型写出来。其他的一笔带过即可。)

    JKL公司 (2010年3月 ~ 2012年8月 )

    MNO项目

    我在此项目负责了哪些工作,分别在哪些地方做得出色/和别人不一样/成长快,这个项目中,我最困难的问题是什么,我采取了什么措施,最后结果如何。这个项目中,我最自豪的技术细节是什么,为什么,实施前和实施后的数据对比如何,同事和领导对此的反应如何。

    PQR项目

    我在此项目负责了哪些工作,分别在哪些地方做得出色/和别人不一样/成长快,这个项目中,我最困难的问题是什么,我采取了什么措施,最后结果如何。这个项目中,我最自豪的技术细节是什么,为什么,实施前和实施后的数据对比如何,同事和领导对此的反应如何。

    其他项目

    (每个公司写2~3个核心项目就好了,如果你有非常大量的项目,那么按分类进行合并,每一类选一个典型写出来。其他的一笔带过即可。)


    5.开源项目及作品

    开源项目和作品

    (这一段用于放置工作以外的、可证明你的能力的材料)

    开源项目

    (对于程序员来讲,没有什么比Show me the code能有说服力了)

    • STU:项目的简要说明,Star和Fork数多的可以注明
    • WXYZ:项目的简要说明,Star和Fork数多的可以注明

    技术文章

    (挑选你写作或翻译的技术文章,好的文章可以从侧面证实你的表达和沟通能力,也帮助招聘方更了解你)

    演讲和讲义

    (放置你代表公司在一些技术会议上做过的演讲,以及你在公司分享时制作的讲义)

    技能清单

    (我一般主张将技能清单写入到工作经历里边去。不过很难完整,所以有这么一段也不错)

    以下均为我熟练使用的技能

    • Web开发:PHP/Hack/Node
    • Web框架:ThinkPHP/Yaf/Yii/Lavaral/LazyPHP
    • 前端框架:Bootstrap/AngularJS/EmberJS/HTML5/Cocos2dJS/ionic
    • 前端工具:Bower/Gulp/SaSS/LeSS/PhoneGap
    • 数据库相关:MySQL/PgSQL/PDO/SQLite
    • 版本管理、文档和自动化部署工具:Svn/Git/PHPDoc/Phing/Composer
    • 单元测试:PHPUnit/SimpleTest/Qunit
    • 云和开放平台:SAE/BAE/AWS/微博开放平台/微信应用开发

    6.高频词汇-参考技能关键字

    本技能关键字列表是从最近招聘Java的数百份JD中统计出来的,括号中是出现的词频。如果你的简历要投递给有机器(简历分选系统)和不如机器(不懂技术的HR)筛选简历环节的地方,请一定从下边高频关键词中选择5~10个适合你自己的。

    • java(730)
    • spring(305)
    • web(260)
    • mysql(250)
    • oracle(207)
    • linux(198)
    • j2ee(182)
    • javascript(177)
    • sql(176)
    • hibernate(169)
    • html(139)
    • tomcat(132)
    • struts(128)
    • jquery(116)
    • jsp(106)
    • ajax(96)
    • css(94)
    • ibatis(84)
    • mvc(77)
    • servlet(71)
    • xml(70)
    • js(62)
    • eclipse(51)
    • mybatis(51)
    • jboss(47)
    • struts2(47)
    • weblogic(46)
    • redis(46)
    • apache(45)
    • http(44)
    • shell(39)
    • python(38)
    • hadoop(37)
    • nosql(35)
    • ssh(35)
    • sqlserver(33)
    • mongodb(33)
    • svn(32)
    • uml(32)
    • json(27)
    • unix(27)
    • maven(27)
    • nginx(26)
    • webservice(25)
    • jdbc(24)
    • memcached(23)
    • tcp(22)
    • resin(22)
    • jvm(21)
    • socket(21)
    • db2(19)
    • springmvc(19)
    • websphere(16)
    • soa(16)
    • mina(14)
    • android(14)
    • extjs(13)
    • erp(12)
    • memcache(12)
    • api(11)
    • jetty(11)
    • myeclipse(11)
    • ext(10)
    • git(10)
    • jpa(10)
    • svm(9)
    • php(9)
    • jms(9)
    • ruby(9)
    • lucene(8)
    • html5(8)
    • postgresql(8)
    • crm(7)
    • javaee(7)
    • sybase(7)
    • freemarker(6)
    • cache(6)
    • jsf(6)
    • j2se(6)
    • jbpm(6)
    • cvs(6)
    • junit(6)
    • visio(6)
    • netty(6)
    • hbase(6)
    • nio(6)
    • powerdesigner(6)
    • oo(6)
    • aop(6)
    • workflow(5)
    • restful(5)
    • ios(5)
    • ant(5)
    • mssql(5)
    • orm(5)
    • rose(5)
    • solr(5)
    • webwork(5)
    • zookeeper(4)
    • soap(4)
    • o2o(4)
    • wap(4)
    • cxf(4)
    • thrift(4)
    • xmpp(3)
    • p2p(3)
    • javabean(3)
    • jee(3)
    • hdfs(3)
    • dom(3)
    • hibernate3(3)
    展开全文
  • JAVA开发微信支付(JSAPI方式)大致流程

    万次阅读 2019-03-07 18:13:45
    参考官方API文档 (先看哈官方文档好有一脸懵逼...官方SDK (相当于工具类,可以方便后面的XML和map转换,以及随机数和一些加密签名的操作,有java和PHP等开发SDK,这里选择java SDK进行下载) https://pay.weixin.qq.com/...

    参考官方API文档 (先看哈官方文档好有一脸懵逼的感觉)

    https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_1

    官方SDK (相当于工具类,可以方便后面的XML和map转换,以及随机数和一些加密签名的操作,有java和PHP等开发SDK,这里选择java SDK进行下载)

    https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=11_1

    前提条件你需要有微信支付四大参数(就是微信公众已认证的服务号和微信商户平台账号)

     微信公众平台:
    
        公众APPID:wx15*********a8
    
        APPSECEPT : c210***************892d7
    
    微信商户平台:
    
        商户ID:14******42
    
        API密钥:5d5************b35b
    

    1:统一下单

    构造接口文档的11个重要参数(按照微信官方的协议和要求拼凑)

    1.        appid APPID (已有)
    
    2.        mch_id 商户ID (已有)
    
    3.        nonce_str 随机字符串用WXPayUtil中的generateNonceStr()即可,就是生成UUID的方法;
    
    4.        sign 签名 用WXPayUtil中的generateSignature(finalMap<String, String> data, String key)方法,data是将除了sign外,其他10个参数放到map中,key是四大配置参数中的API秘钥(paternerKey)(这里不要着急管它,最后处理它);
    
    5.        body 所支付的名称
    
    6.        out_trade_no 自己后台生成的订单号(商户系统内部订单号,要求32个字符内,只能是数字、大小写字母_-|* 且在同一个商户号下唯一。详见商户订单号)
    
    7.        total_fee 支付金额 单位:分,为了测试此值给1,表示支付1分钱
    
    8.        spbill_create_ip IP地址 网上很多ip的方法,自己找,此处测试给“127.0.0.1”
    
    9.        notify_url 回调地址:这是微信支付成功后,微信那边会带着一大堆参数(XML格式)请求这个地址多次,这个地址做我们业务处理如:修改订单状态,赠送积分等。Ps:支付还没成功还想这么远干嘛,最后再说。地址要公网可以访问。
    
    10.    trade_type 支付类型 咱们是公众号支付此处给“JSAPI”
    
    11.    openid 支付人的微信公众号对应的唯一标识,每个人的openid在不同的公众号是不一样的,这11个参数里,最费劲的就是他了,其他的几乎都已经解决,现在开发得到这个参数。

    将以上参数构造为一个map,使用SDK的工具类进行转换为XML格式(以为必须遵循微信的协议,他说json就传json,XML就XML)

    例如

     //拼接统一下单地址参数
            Map<String, String> paraMap = new HashMap<String, String>();
    //构造map
                paraMap.put("appid", PayConfig.APP_ID);  												//APPid
                paraMap.put("body",
                        circulationOrderFromWrap.getCirculationOrderFrom().getCommodityName());			//商品名称
                paraMap.put("mch_id", PayConfig.MCH_ID);  												//商户号
                paraMap.put("nonce_str", WXPayUtil.generateNonceStr());
                paraMap.put("openid", userOpenId);
                paraMap.put("out_trade_no",
                        circulationOrderFromWrap.getCirculationOrderFrom().getOrderNumber());			//订单号
                paraMap.put("spbill_create_ip", ip);
                paraMap.put("total_fee","1");
                paraMap.put("trade_type", "JSAPI");
                paraMap.put("notify_url",PayConfig.NOTIFY_URL);	
    //前面的参数就是为签名做准备的,下面就是签名											
                String sign = WXPayUtil.generateSignature(paraMap, PayConfig.MCH_KEY);
    
                paraMap.put("sign", sign);
    
                String xml = WXPayUtil.mapToXml(paraMap);//将所有参数(map)转xml格式
    // 发送post请求"统一下单接口"返回预支付id:prepay_id(半天就为获取这个玩意)
      String xmlStr=HttpClientPostUtil.doPost(PayConfig.UNIFIEDORDER_URL, xml);
    
    
    

    带续....

     

    展开全文
  • 本例中列出了微信公众平台开发的所有流程的代码,包括接收xml数据、解析xml数据、调用图灵机器人api接口获取智能回复内容、封装结果xml数据等,简单明了,不明之处可查看个人博客中的讲解。
  • Java8编程实战

    万人学习 2016-12-31 18:03:03
    Java一直作为优秀的编程语言活跃于软件开发行业,掌握Java不仅是一件兴奋的事,更是一把可以帮助你轻松进入软件行业大门的一把金钥匙,本套课程将为读者讲解Java8的所有核心技术知识,一共240集的Java8开发课程,...
  • 推荐一位Java开发朋友的简历

    千次阅读 2012-04-20 14:45:55
    一朋友正在找工作,条件挺好的,可惜我们公司是做.net开发,Java...可惜了,只好奉献给各位招聘Java开发的朋友。  关键字:Java开发 哈理工本科 计算机专业 5年工作经验   联系方式:    舒展:18611102101...
  • Java开发工具

    千次阅读 2006-07-27 15:38:00
    网尽Java开发工具作者:务实 转贴自:未知 点击数:474
  • IntelliJ IDEA详细配置和使用教程(适用于Java开发人员)

    万次阅读 多人点赞 2017-07-12 22:59:23
    前言正所谓工欲善其事必先利其器,对开发人员而言若想提高编码效率,一款高效的开发工具是必...博主使用的IntelliJ IDEA版本为IntelliJ IDEA 2017,因为博主是一名Java开发工程师,所以以下内容均以Java为主。(相信有不
  • java开发面试 自我介绍 与 项目介绍是重点

    万次阅读 多人点赞 2017-02-23 19:04:27
    从来没有见过一个面试java的面试官一个技术问题都不问,就給offer,所以想写写经历与感受。 第一句话请关下门,第二句话先做一下自我介绍,完了让我介绍项目以及我所做的部分。这几点是每家公司都会问的问题,但只有...
  • IDEA配置java开发环境

    万次阅读 2019-04-29 11:23:10
    1、jdk环境配置 ------- java环境变量请参考(linux环境下java开发环境配置 或 windows环境下java开发环境配置) 2、maven build工具(maven项目使用),下载地址 3、gradle build工具(gradle项目使...
  • 最全Java学习路线,每一位Java开发人员必备宝典 第一阶段 : JavaSE 第二阶段 : 数据库 第三阶段 : Web前端 第四阶段 : JavaWeb 第五阶段 : JavaWeb(项目专题) 第六阶段 : 高级框架 第七阶段 : 框架项目 第...
  • Java开发中常见的异常(Exception)

    万次阅读 2017-12-11 12:51:24
    算术异常类:ArithmeticExecption 空指针异常类:NullPointerException 类型强制转换异常:ClassCastException ...数组负下标异常:NegativeArrayException ...数组下标越界异常:ArrayIndexOutOfBoundsException ...
  • 境:Java SE8、eclipse4.7.3a 3. 课程内容: (1)java概述 (2)对比面向过程语言与面向对象语言 (3)编译型语言和解释型语言 (4)安装JDK(java development kit) (5)...
  • 名师讲坛——Java开发实战经典 带详细书签目录版

    千次下载 热门讨论 2014-05-19 15:29:36
    详细书签目录 是我自己亲手加进去的 目前正在看本书 看了300来页 受益颇多
  • Java开发之路

    千次阅读 2016-01-01 23:16:36
    [Java开发之路]final关键字[Java开发之路]Java字符串 [Java开发之路]Java常用类[Java开发之路]String、StringBuffer与StringBuilder详解 [Java开发之路]异常详解 [Java开发之路]File类的使用 [Java开发之路]...
  • java开发手册

    千次阅读 2020-06-01 23:41:57
    这里写自定义目录标题java开发手册命名规范注释规范格式规范 java开发手册 命名规范 (1) 禁止拼音缩写,禁止使用非标准的英文缩写 禁止: DZ[打折] / getPFByName() [评分] (2) 包名全部小写。 com.saury.tools...
  • java开发web怎么把每个功能模块化? 以前做项目 比如一个页面的数据都是在后台 一个查询函数 把数据查询出来发送到前台 然后前台显示, 但是最近做一个网站 情况是这样的 最初版 和以前一样 一个查询 把 主页很多...
  • VS Code Java 开发指南!

    万次阅读 多人点赞 2019-02-19 18:39:56
    本文是一份提供给 Java 开发人员在 2019 年使用 Visual Studio Code 的终极指南,帮助开发者使用 VS Code 进行开发、运行、调试和部署其应...
  • RT,谢谢大家。 用JAVA开发,做通信服务那些,还有大规模数据处理,不太方便的吧????
  • VSCode配置JAVA开发环境

    千次阅读 2018-12-31 16:35:00
    VSCode配置JAVA开发环境 1:给机器安装JDK、MAVEN 下载JDK 下载路径:https://www.oracle.com/technetwork/java/javase/downloads/jdk11-downloads-5066655.html 配置JAVA的环境变量 我的JDK在硬盘的位置: ...
  • 初级Java工程师面试准备 1、适合人群:应届计算机毕业生和Java初学者 2、知识储备,掌握以下知识或相关知识即可面试这一岗位 ·Java基本语法知识 ·Java面向对象知识 ·JSP与基本前端知识 ·数据库(Oracle,MySql)...
  • 刚学Java开发,之前的电脑太差了,想换新电脑 不知道MacBook和Windows哪个更适合这项工作,从来没用过MacBook不熟悉系统, 想知道MacBook做开发有哪些不方便吗,现在大多数开发的人更倾向用什么系统的电脑![图片说明...
  • 东南亚java开发

    千次阅读 2019-06-13 23:21:58
    招聘2年以上经验的java 薪资按照税后计算 18k起/月工作地点:老挝 泰国 有知名企业背景的薪资在原有的基础上加税后3-5k/月想赚钱的小伙伴们 简历挥起来咱们走起来 微信:nick-love123谢谢群主 泰国某BC集团旗下...
  • 一、安装JDK 1、 JVM(Java Virtual Machine—Java...JDK(Java Development kit—Java开发工具包) 2、JDK包含了JRE和JVM,所以安装了JDK就安装了JRE和JVM,JDK的安装包可以到Oracle官网上下载或者第三方网站下载,
  • 菜鸟学Java——搭建一个完整的Java开发环境

    千次阅读 多人点赞 2013-09-09 21:58:09
    作为一个Java程序员,配置一个java开发环境是必备的技能,今天给广大菜鸟初学者补上一课。环境的配置,大概就分三个1,JDK 2,Tomcat(或者其他的)3,eclipse(或者myeclipse)。下面我们就一个一个慢慢配置。   ...
  • Java开发RESTful

    千次阅读 2018-01-24 16:56:36
    一.首先,什么是REST?  REST从字面上讲叫做Representational State Transfer,翻译成表现层状态转移,但是一般在翻译的时候,前面会加一个Resource,即Resource Representational State Transfer,即为资源表现层状态...
  • java开发要求

    千次阅读 2019-04-06 12:42:42
    Java开发工程师 1-1.5万/月 恒宝股份有限公司查看所有职位 申请职位 职位信息 岗位职责: 1、完成软件系统代码的实现,编写代码注释和开发文档; 2、根据设计文档或需求说明完成代码编写,调试,测试和维护;...

空空如也

1 2 3 4 5 ... 20
收藏数 423,087
精华内容 169,234
关键字:

java开发

java 订阅