maven打包之后为什么class文件中没有注释了

目标 1. 将依赖第三方jar包都打进去2. 将工程java 目录下所有文件夹和配置文件,包括资源文件都打入jar包,根据目录来3. 打出jar文件可直接运行方法:采用 maven-assembly-plugin环境:IDEA 14.1.5 JDK 1.8其中**/*写法,是为了保证各级子目录下的资源文件被打包,svn相关文件排除。

pom.xml 写法src/main/java**/***/.svn/*falseorg.apache.maven.pluginsmaven-compiler-plugin2.3.21.8

Maven打包,包含第三方依赖失败

首先说说上一篇最后提到的关于自定义注释的问题,想实现这个功能就需要修改org.mybatis.generator.internal.DefaultCommentGenerator这个类。

我将里面一些主要的方法讲下。

addJavaFileComment(CompilationUnit compilationUnit)给Java文件加注释,这个注释是在文件的顶部,也就是package上面。

addComment(XmlElement xmlElement)给生成的XML文件加注释。

大象将这个方法清空了,不生成注释。

addClassComment(InnerClass innerClass,IntrospectedTable introspectedTable)Java类的类注释。

请注意红线的getRemarks()方法,这个remarks属性在原来的FullyQualifiedTable里面是没有的,这是大象自己加上去的,就是为了保存表的注释信息。

那是在哪里加进去的呢?请看org.mybatis.generator.internal.db.DatabaseIntrospector这个类,大概浏览下就会发现,数据库表以及列的信息读取,类型设置都是由它来完成的,定位到608行,正好这里是个空行,插入几行代码。

如下:这样我们就取到了表的注释信息,看到这里应该就会明白了吧?另外我需要说明的是,想通过databaseMetaData.getTables()来获得表注释的童鞋,这个做法是没用的,大象已经试过了,这个结果集里面的rs.getString("REMARKS")得到的是一个空字符串,什么都木有。

而且大象还想吐槽下,网上一大堆说返回的这个结果集是10列,呵呵,是的么?我debug了好久发现它还是只有5列,不知道这10列是从哪来的,请打印出10列的童鞋告之是怎么做的,我用的mysql驱动是5.1.29addFieldComment(Field field, IntrospectedTable introspectedTable,IntrospectedColumn introspectedColumn)Java属性注释。

注释为空就不给属性添加。

addGetterComment(Method method,IntrospectedTable introspectedTable,IntrospectedColumn introspectedColumn)给getter方法加注释。

这里添加注释的方法和Field一样,大象把这个方法以及addSetterComment方法都清空了,因为我比较习惯把注释加到属性上面,如果你习惯在getter方法上面加注释可以自行改一下。

上面这些修改做完后,记得要在org.mybatis.generator.codegen.mybatis3.model.BaseRecordGenerator的61行增加下面这行代码:commentGenerator.addClassComment(topLevelClass, introspectedTable);因为mybatis-generator源码中本来就是不加类注释的。

大家都在不同的公司,要求肯定都不一样,大象没法满足所有人,只对该类做了一定程度的修改,姑且把它当做一个示例模板吧,主要是弄明白怎么改就成了。

mybatis-generator在1.3.2版里对生成xml的namespace作了修改,不再用表名当为namespace的值,而是用包结构+类名+Mapper后缀的形式设置,大象不喜欢这么复杂做法,所以这里需要改一改,只保留类名+Mapper的命名形式。

去掉org.mybatis.generator.api.IntrospectedTable类的907行与908行代码。

接下来再来说说对大对象类型的处理,mybatis-generator默认会把所有jdbcType为:BINARY、BLOB、CLOB、LONGVARBINARY、LONGVARCHAR、VARBINARY这些类型都作为大对象,反应出来的效果就是生成的pojo类会多一个类名+WithBLOBs.java的文件(含有的大对象个数大于1时),而在XML里面也会增加一个id为ResultMapWithBLOBs的resultMap,它继承BaseResultMap,大象一向喜欢简单的风格,这看得太不爽了。

如果你觉得无所谓,不需要修改,请跳过这段往下看。

表中的text或blob等类型,通过databaseMetaData.getColumns()取出来后,它的rs.getInt("DATA_TYPE")值是与java.sql.Types对应的。

text类型的值:Types.LONGVARCHARblob类型是值:Types.LONGVARBINARY它用org.mybatis.generator.internal.types.JavaTypeResolverDefaultImpl解析java类型与jdbc类型,然后设置到org.mybatis.generator.api.IntrospectedColumn的jdbcTypeName属性里,最关键的地方到了,IntrospectedColumn类第156行有个isBLOBColumn()方法,它就是用来判断是否生成xxxWithBLOBs.java和ResultMapWithBLOBs的条件。

当然mybatis-generator不会这么直接用,它在里面定义了一个Rules接口,由它来统一进行调用。

所以我们只需要把isBLOBColumn()里面的代码都去掉,直接返回false就可以了,再结合配置文件中的columnOverride属性就能达到目的。

jdbcType指定的值就是生成xml后result里面对应的类型,javaType与生成的pojo里面属性类型一致,这里其实可以不定义javaType,但是当数据库的表字段有的定义为tinyint时,如果不给它指定类型,那么默认生成的java类型就是java.lang.Byte,假如你想转换类型,而且保证不会超出字段类型的大小限制,那么你可以将它的javaType设为java.lang.Integer经过这么一番修改之后,输出结果已经比较理想了,但是xml文件看上去还是有点问题,元素与元素之间没空行,看起来好别扭。

恩,这里要给它加上空行,所以请找到org.mybatis.generator.api.dom.xml.XmlElement类的getFormattedContent方法,这个方法有个参数:indentLevel,通过名字我们可以很直观的理解它的作用就是来控制缩进等级,它的初始值为...

Xshell用什么命令进入

打开软件,点击新建,在主机哪里写入要访问的ip地址,名称随意Xshell的使用以及常用命令点击文件之后,再点击打开:Xshell的使用以及常用命令就可以看到刚才新建的会话了:Xshell的使用以及常用命令点击连接,就会显示下面的画面,输入用户名,密码,就可以成功连接。

Xshell的使用以及常用命令Xshell的使用以及常用命令常用的命令:suse linux 常用命令 (1) 命令ls——列出文件 ls 显示当前目录文件 ls -la 给出当前目录下所有文件的一个长列表,包括以句点开头的“隐藏”文件 ls a* 列出当前目录下以字母a开头的所有文件 ls -l *.doc 给出当前目录下以.doc结尾的所有文件 (2)命令cp——复制文件 cp afile afile.bak 把文件复制为新文件afile.bak cp afile /home/bible/ 把文件afile从当前目录复制到/home/bible/目录下 cp * /tmp 把当前目录下的所有未隐藏文件复制到/tmp/目录下 cp -a docs docs.bak 递归性地把当前目录下的docs目录复制为新目录docs.bak,保持文件属性,并复制所有的文件,包括以句点开头的隐藏文件。

为了方便起见,-a选项包含-R选项 cp -i 在覆盖前询问用户 cp -v 告诉用户正在做什么 cp -r (3)命令mv——移动和重命名文件 mv aflie bfile 将afile重命名为bfile mv afile /tmp 把当前目录下的afile移动到/tmp/目录下 (4)命令rm——删除文件和目录 rm afile 删除文件afile rm * 删除当前目录下的所有文件(未隐藏文件)。

rm命令不删除目录,除非也指定了-r(递归)参数。

rm -rf domed 删除domed目录以及它所包含的所有内容 rm -i a* 删除当前目录下所有以字母a开头的文件,并且在每次删除时,提示用户进行确认 (5)命令cd——更改目录 cd 切换到主目录 cd ~ 切换到主目录 cd /tmp 切换到目录/tmp cd dir 切换到当前目录下的dir目录 cd / 切换到根目录 cd .. 切换到到上一级目录 cd ../.. 切换到上二级目录 cd ~ 切换到用户目录,比如是root用户,则切换到/root下(6)命令mkdir——建立目录 mkdir phots 在当前目录中建立名为photos的目录 mkdir -p this/that/theother 在当前目录下建立指定的嵌套子目录(7)命令mkdir——删除目录 mkdir 将删除空目录(8)命令more、less——查看文件内容 more /etc/passwd 查看/etc/passwd的内容 功能:分页显示命令 more file more命令也可以通过管道符(|)与其他的命令一起使用,例如: ps ux|more ls|more less /etc/passwd 查看/etc/passwd的内容 (9)命令grep——搜索文件内容 grep bible /etc/exports 在文件exports中查找包含bible的所有行 tail -100 /var/log/apache/access.log|grep 404 在WEB服务器日志文件access.log的后100行中查找包含“404”的行 tail -100 /var/log/apache/access.log|grep -v googlebot 在WEB服务器日志文件access.log的后100行中,查找没有被google访问的行 grep -v ^# /etc/apache2/httpd.conf 在主apache配置文件中,查找所有非注释行 (10)命令find——查找文件 find .-name *.rpm 在当前目录中查找rpm包 find .|grep page 在当前目录及其子目录中查找文件名包含page的文件 locate traceroute 在系统的任何地方查找文件名包含traceroute的文件 (11)命令vi——编辑文件 gvim 打开程序 vi /etc/bubby.txt 用vi编辑文件/etc/bubby.txt vim /etc/bubby.txt 用vi编辑文件/etc/bubby.txt 快捷操作: 切换窗口:alt+1,alt+2 全屏:alt+回车 将vim挂起(暂停):ctrl+z,暂停后可进行其他shell操作,完了之后可通过 fg 命令切换回vim界面继续编辑 :MR:查看历史文件记录(注意:MR大写) :sp 横向切换界面窗口 :vsp 纵向切换界面窗口 方便多文件对照编码(如下图:) emacs /etc/bubby.txt 用emacs编辑文件/etc/bubby.txt (12)命令rz、sz——文件上传下载 运行命令Sudo rz,即是接收文件,xshell就会弹出文件选择对话框,选好文件之后关闭对话框,文件就会上传到linux里的当前目录 。

运行命令Sudo sz file 就是发文件到windows上(保存的目录是可以配置) 比ftp命令方便多了,而且服务器不用再开FTP服务了。

(13)命令cat——显示文件内容 cat file (14)命令ps——查看进程 ps [options] DESCRIPTION(描述):ps命令显示运行程序选项的一些信息。

如果你想显示选项的一些重复信息,请使用top命令替代。

用标准语法查看系统上的每一个进程。

ps -e ps -ef ps -eF ps -ely (15)命令kill——杀掉进程 [root@linux ~]# kill -signal %jobnumber [root@linux ~]# kill -l 参数: -l :这个是 L 的小写,列出目前 kill 能够使用的讯号 (signal) 有哪些?共有62个信号。

signal :代表给予后面接的那个工作什么样的指示啰!用 man 7 signal 可知: -1 :重新读取一次参数的设定档 (类似 reload); -2 :代表与由键盘输入 [ctrl]-c 同样的动作; -9 :立刻强制删除一个工作; -15:以正常的程序方式终止一项工作。

与 -9 是不一样的。

范例一:找出目前的 bash 环境下的背景工作,并将该工作删除。

[root@linux ~]# jobs [1]+ Stopped vim bashrc [root@linux ~]# kill -9 %1 [1]+ 已砍掉 vim bashrc (16)命令stop、start——重启tomcat ./catalina.sh stop ./catalina.sh start (17)命令top——查看cpu、内存 (18)命令pwd——查看当前路径 (19)命令tar——...

以道大数据课程体系都讲什么

大数据技术在如今应用非常广泛,许多想入行学习大数据培训的童鞋不知从何学起,从哪儿开始学首先要根据你的基本情况而定,如果你是零基础的也不需要担心,先从基础开始学起就好了,接下来学习基础java开始、数据结构、关系型数据库、linux系统操作,夯实基础之后,再进入大数据的学习,例如:hadoop离线分析、Storm实时计算、spark内存计算的学习,以道教育大数据课程体系可以如下:第一阶段 WEB 开发基础HTML基础1、Html基本介绍2、HTML语法规范3、基本标签介绍4、HTML编辑器/文本文档/WebStrom/elipse5、HTML元素和属性6、基本的HTML元素6.1 标题6.2 段落6.3 样式和style属性6.3 链接 a6.4 图像 img6.5 表格 table6.6 列表 ul/ol/dl7、 HTML注释8、表单介绍9、Table标签10、DIV布局介绍11、HTML列表详解HTML布局和Bootstrap1、 HTML块元素(block)和行内元素(inline)2、使用div实现网页布局3、响应式WEB设计(Responsive Web Design)4、使用bootstrap实现响应式布局HTML表单元素1、HTML表单 form2、HTML表单元素3、 HTML input的类型 type4、 Html input的属性CSS基础1、CSS简介及基本语法2、在HTML文档中使用CSS3、CSS样式4、CSS选择器5、盒子模型6、布局及定位CSS高级/CSS31、尺寸和对齐2、分类(clear/cursor/display/float/position/visibility)3、导航栏4、图片库5、图片透明6、媒介类型 @media7、CSS38、CSS3动画效果JavaScript基础1、JavaScript简介2、基本语法规则3、在HTML文档中使用JS4、JS变量5、JS数据类型6、JS函数7、JS运算符8、流程控制9、JS错误和调试JavaScript对象和作用域1、数字 Number2、字符串String3、日期 Date4、数组5、数学 Math6、DOM对象和事件7、BOM对象8、Window对象9、作用域和作用域链10、JSONJavascript库1、Jquery2、Prototype3、Ext JsJquery1、Jquery基本语法2、Jquery选择器3、Jquery事件4、Jquery选择器5、Jquery效果和动画6、使用Jquery操作HTML和DOM7、Jquery遍历8、Jquery封装函数9、Jquery案例表单验证和Jquery Validate1、用Js对HTML表单进行验证2、Jquery Validata基本用法3、默认校验规则和提示信息4、debug和ignore5、更改错误信息显示位置和样式6、全部校验通过后的执行函数7、修改验证触发方式8、异步验证9、自定义校验方法10、radio 和 checkbox、select 的验证Java基础1、关于Java2、Java运行机制3、第一个Java程序,注释4、Javac,Java,Javadoc等命令5、标识符与关键字6、变量的声明,初始化与应用7、变量的作用域8、变量重名9、基本数据类型10、类型转换与类型提升11、各种数据类型使用细节12、转义序列13、各种运算符的使用流程控制1、选择控制语句if-else2、选择控制语句switch-case3、循环控制语句while4、循环控制语句do-while5、循环控制语句for与增强型for6、break,continue,return7、循环标签8、数组的声明与初始化9、数组内存空间分配10、栈与堆内存11、二维(多维)数组12、Arrays类的相关方法13、main方法命令行参数面向对象1、面向对象的基本思想2、类与对象3、成员变量与默认值4、方法的声明,调用5、参数传递和内存图6、方法重载的概念7、调用原则与重载的优势8、构造器声明与默认构造器9、构造器重载10、this关键字的使用11、this调用构造器原则12、实例变量初始化方式13、可变参数方法访问权限控制1、包 package和库2、访问权限修饰符private/protected/public/包访问权限3、类的访问权限4、抽象类和抽象方法5、接口和实现6、解耦7、Java的多重继承8、通过继承来扩展接口错误和异常处理1、概念:错误和异常2、基本异常3、捕获异常 catch4、创建自定义异常5、捕获所有异常6、Java标准异常7、使用finally进行清理8、异常的限制9、构造器10、异常匹配11、异常使用指南数据库基础(MySQL)数据库基础(MySQL)JDBC1、Jdbc基本概念2、使用Jdbc连接数据库3、使用Jdbc进行crud操作4、使用Jdbc进行多表操作5、Jdbc驱动类型6、Jdbc异常和批量处理7、Jdbc储存过程Servlet和JSP1、Servlet简介2、Request对象3、Response对象4、转发和重定向5、使用Servlet完成Crud6、Session和Coolie简介7、ServletContext和Jsp8、El和Jstl的使用Ajax1、什么是Ajax2、XMLHttpRequest对象(XHR)3、XHR请求4、XHR响应5、readystate/onreadystatechange6、Jquery Ajax7、JSON8、案例:对用户名是否可用进行服务器端校验综合案例1、项目开发一般流程介绍2、模块化和分层3、DButils4、QueryRunner5、ResultSetHandle6、案例:用户登录/注册,从前端到后端第二阶段 Java SE访问权限和继承1、包的声明与使用2、import与import static3、访问权限修饰符4、类的封装性5、static(静态成员变量)6、final(修饰变量,方法)7、静态成员变量初始化方式8、类的继承与成员继承9、super的使用10、调用父类构造器11、方法的重写与变量隐藏12、继承实现多态和类型转换13、instanceof抽象类与接口1、抽象类2、抽象方法3、继承抽象类4、抽象类与多态5、接口的成员...

大数据需要掌握哪些技能

可以参考以下的课程体系第一阶段 WEB 开发基础HTML基础1、Html基本介绍2、HTML语法规范3、基本标签介绍4、HTML编辑器/文本文档/WebStrom/elipse5、HTML元素和属性6、基本的HTML元素6.1 标题6.2 段落6.3 样式和style属性6.3 链接 a6.4 图像 img6.5 表格 table6.6 列表 ul/ol/dl7、 HTML注释8、表单介绍9、Table标签10、DIV布局介绍11、HTML列表详解HTML布局和Bootstrap1、 HTML块元素(block)和行内元素(inline)2、使用div实现网页布局3、响应式WEB设计(Responsive Web Design)4、使用bootstrap实现响应式布局HTML表单元素1、HTML表单 form2、HTML表单元素3、 HTML input的类型 type4、 Html input的属性CSS基础1、CSS简介及基本语法2、在HTML文档中使用CSS3、CSS样式4、CSS选择器5、盒子模型6、布局及定位CSS高级/CSS31、尺寸和对齐2、分类(clear/cursor/display/float/position/visibility)3、导航栏4、图片库5、图片透明6、媒介类型 @media7、CSS38、CSS3动画效果JavaScript基础1、JavaScript简介2、基本语法规则3、在HTML文档中使用JS4、JS变量5、JS数据类型6、JS函数7、JS运算符8、流程控制9、JS错误和调试JavaScript对象和作用域1、数字 Number2、字符串String3、日期 Date4、数组5、数学 Math6、DOM对象和事件7、BOM对象8、Window对象9、作用域和作用域链10、JSONJavascript库1、Jquery2、Prototype3、Ext JsJquery1、Jquery基本语法2、Jquery选择器3、Jquery事件4、Jquery选择器5、Jquery效果和动画6、使用Jquery操作HTML和DOM7、Jquery遍历8、Jquery封装函数9、Jquery案例表单验证和Jquery Validate1、用Js对HTML表单进行验证2、Jquery Validata基本用法3、默认校验规则和提示信息4、debug和ignore5、更改错误信息显示位置和样式6、全部校验通过后的执行函数7、修改验证触发方式8、异步验证9、自定义校验方法10、radio 和 checkbox、select 的验证Java基础1、关于Java2、Java运行机制3、第一个Java程序,注释4、Javac,Java,Javadoc等命令5、标识符与关键字6、变量的声明,初始化与应用7、变量的作用域8、变量重名9、基本数据类型10、类型转换与类型提升11、各种数据类型使用细节12、转义序列13、各种运算符的使用流程控制1、选择控制语句if-else2、选择控制语句switch-case3、循环控制语句while4、循环控制语句do-while5、循环控制语句for与增强型for6、break,continue,return7、循环标签8、数组的声明与初始化9、数组内存空间分配10、栈与堆内存11、二维(多维)数组12、Arrays类的相关方法13、main方法命令行参数面向对象1、面向对象的基本思想2、类与对象3、成员变量与默认值4、方法的声明,调用5、参数传递和内存图6、方法重载的概念7、调用原则与重载的优势8、构造器声明与默认构造器9、构造器重载10、this关键字的使用11、this调用构造器原则12、实例变量初始化方式13、可变参数方法访问权限控制1、包 package和库2、访问权限修饰符private/protected/public/包访问权限3、类的访问权限4、抽象类和抽象方法5、接口和实现6、解耦7、Java的多重继承8、通过继承来扩展接口错误和异常处理1、概念:错误和异常2、基本异常3、捕获异常 catch4、创建自定义异常5、捕获所有异常6、Java标准异常7、使用finally进行清理8、异常的限制9、构造器10、异常匹配11、异常使用指南数据库基础(MySQL)数据库基础(MySQL)JDBC1、Jdbc基本概念2、使用Jdbc连接数据库3、使用Jdbc进行crud操作4、使用Jdbc进行多表操作5、Jdbc驱动类型6、Jdbc异常和批量处理7、Jdbc储存过程Servlet和JSP1、Servlet简介2、Request对象3、Response对象4、转发和重定向5、使用Servlet完成Crud6、Session和Coolie简介7、ServletContext和Jsp8、El和Jstl的使用Ajax1、什么是Ajax2、XMLHttpRequest对象(XHR)3、XHR请求4、XHR响应5、readystate/onreadystatechange6、Jquery Ajax7、JSON8、案例:对用户名是否可用进行服务器端校验综合案例1、项目开发一般流程介绍2、模块化和分层3、DButils4、QueryRunner5、ResultSetHandle6、案例:用户登录/注册,从前端到后端第二阶段 Java SE访问权限和继承1、包的声明与使用2、import与import static3、访问权限修饰符4、类的封装性5、static(静态成员变量)6、final(修饰变量,方法)7、静态成员变量初始化方式8、类的继承与成员继承9、super的使用10、调用父类构造器11、方法的重写与变量隐藏12、继承实现多态和类型转换13、instanceof抽象类与接口1、抽象类2、抽象方法3、继承抽象类4、抽象类与多态5、接口的成员6、静态方法与默认方法7、静态成员类8、实例成员类9、局部类10、匿名类11、eclipse的使用与调试12、内部类对外围类的访问关系13、内部类的命名Lambda表达式与常用类1、函数式接口2、Lambda表达式概念3、Lambda表达式应用场合4、使用案例5、方法引用6、枚举类型(编译器的处理)7、包装类型(自动拆箱与封箱)8、String方法9、常量池机制10、String讲解11...

大数据培训到底是培训什么

可以参考一下以道教育的课程体系第一阶段 WEB 开发基础HTML基础1、Html基本介绍2、HTML语法规范3、基本标签介绍4、HTML编辑器/文本文档/WebStrom/elipse5、HTML元素和属性6、基本的HTML元素6.1 标题6.2 段落6.3 样式和style属性6.3 链接 a6.4 图像 img6.5 表格 table6.6 列表 ul/ol/dl7、 HTML注释8、表单介绍9、Table标签10、DIV布局介绍11、HTML列表详解HTML布局和Bootstrap1、 HTML块元素(block)和行内元素(inline)2、使用div实现网页布局3、响应式WEB设计(Responsive Web Design)4、使用bootstrap实现响应式布局HTML表单元素1、HTML表单 form2、HTML表单元素3、 HTML input的类型 type4、 Html input的属性CSS基础1、CSS简介及基本语法2、在HTML文档中使用CSS3、CSS样式4、CSS选择器5、盒子模型6、布局及定位CSS高级/CSS31、尺寸和对齐2、分类(clear/cursor/display/float/position/visibility)3、导航栏4、图片库5、图片透明6、媒介类型 @media7、CSS38、CSS3动画效果JavaScript基础1、JavaScript简介2、基本语法规则3、在HTML文档中使用JS4、JS变量5、JS数据类型6、JS函数7、JS运算符8、流程控制9、JS错误和调试JavaScript对象和作用域1、数字 Number2、字符串String3、日期 Date4、数组5、数学 Math6、DOM对象和事件7、BOM对象8、Window对象9、作用域和作用域链10、JSONJavascript库1、Jquery2、Prototype3、Ext JsJquery1、Jquery基本语法2、Jquery选择器3、Jquery事件4、Jquery选择器5、Jquery效果和动画6、使用Jquery操作HTML和DOM7、Jquery遍历8、Jquery封装函数9、Jquery案例表单验证和Jquery Validate1、用Js对HTML表单进行验证2、Jquery Validata基本用法3、默认校验规则和提示信息4、debug和ignore5、更改错误信息显示位置和样式6、全部校验通过后的执行函数7、修改验证触发方式8、异步验证9、自定义校验方法10、radio 和 checkbox、select 的验证Java基础1、关于Java2、Java运行机制3、第一个Java程序,注释4、Javac,Java,Javadoc等命令5、标识符与关键字6、变量的声明,初始化与应用7、变量的作用域8、变量重名9、基本数据类型10、类型转换与类型提升11、各种数据类型使用细节12、转义序列13、各种运算符的使用流程控制1、选择控制语句if-else2、选择控制语句switch-case3、循环控制语句while4、循环控制语句do-while5、循环控制语句for与增强型for6、break,continue,return7、循环标签8、数组的声明与初始化9、数组内存空间分配10、栈与堆内存11、二维(多维)数组12、Arrays类的相关方法13、main方法命令行参数面向对象1、面向对象的基本思想2、类与对象3、成员变量与默认值4、方法的声明,调用5、参数传递和内存图6、方法重载的概念7、调用原则与重载的优势8、构造器声明与默认构造器9、构造器重载10、this关键字的使用11、this调用构造器原则12、实例变量初始化方式13、可变参数方法访问权限控制1、包 package和库2、访问权限修饰符private/protected/public/包访问权限3、类的访问权限4、抽象类和抽象方法5、接口和实现6、解耦7、Java的多重继承8、通过继承来扩展接口错误和异常处理1、概念:错误和异常2、基本异常3、捕获异常 catch4、创建自定义异常5、捕获所有异常6、Java标准异常7、使用finally进行清理8、异常的限制9、构造器10、异常匹配11、异常使用指南数据库基础(MySQL)数据库基础(MySQL)JDBC1、Jdbc基本概念2、使用Jdbc连接数据库3、使用Jdbc进行crud操作4、使用Jdbc进行多表操作5、Jdbc驱动类型6、Jdbc异常和批量处理7、Jdbc储存过程Servlet和JSP1、Servlet简介2、Request对象3、Response对象4、转发和重定向5、使用Servlet完成Crud6、Session和Coolie简介7、ServletContext和Jsp8、El和Jstl的使用Ajax1、什么是Ajax2、XMLHttpRequest对象(XHR)3、XHR请求4、XHR响应5、readystate/onreadystatechange6、Jquery Ajax7、JSON8、案例:对用户名是否可用进行服务器端校验综合案例1、项目开发一般流程介绍2、模块化和分层3、DButils4、QueryRunner5、ResultSetHandle6、案例:用户登录/注册,从前端到后端第二阶段 Java SE访问权限和继承1、包的声明与使用2、import与import static3、访问权限修饰符4、类的封装性5、static(静态成员变量)6、final(修饰变量,方法)7、静态成员变量初始化方式8、类的继承与成员继承9、super的使用10、调用父类构造器11、方法的重写与变量隐藏12、继承实现多态和类型转换13、instanceof抽象类与接口1、抽象类2、抽象方法3、继承抽象类4、抽象类与多态5、接口的成员6、静态方法与默认方法7、静态成员类8、实例成员类9、局部类10、匿名类11、eclipse的使用与调试12、内部类对外围类的访问关系13、内部类的命名Lambda表达式与常用类1、函数式接口2、Lambda表达式概念3、Lambda表达式应用场合4、使用案例5、方法引用6、枚举类型(编译器的处理)7、包装类型(自动拆箱与封箱)8、String方法9、常量池机制10、Stri...

spring cloud如何在任意地方获取fegin 客户端实例

Spring Cloud项目的既定目标在于为Spring开发人员提供一整套易于使用的工具集,从而保证其轻松构建起自己需要的分布式系统方案。

为了实现这一目标,Spring Cloud以Netflix OSS堆栈为基础将大量实现堆栈加以整合并打包。

这些堆栈而后可以通过大家所熟知的各类基于注释的配置工具、Java配置工具以及基于模板的编程工具实现交付。

下面就让我们一起了解Spring Cloud当中的几类常见组件。

Spring Cloud Config Server Spring Cloud Config Server能够提供一项具备横向扩展能力的集中式配置服务。

它所使用的数据被保存在一套可插拔库层当中,后者目前能够支持本地存储、Git以及Subversion。

通过利用一套版本控制系统作为配置存储方案,开发人员能够轻松实现版本与审计配置的内容调整。

如何利用Spring Cloud构建起自我修复型分布式系统 配置内容会以Java属性或者YAML文件的形式体现。

该Config Server会将这些文件合并为环境对象,其中包含易于理解的Spring属性模型以及作为REST API存在的配置文件。

任何应用程序都能够直接调用该REST API当中所包含的配置数据,但我们也可以将智能客户端绑定方案添加到Spring Boot应用程序当中,并由后者自动将接收自Config Server的配置信息分配至任意本地配置当中。

Spring Cloud Bus Spring Cloud Config Server是一套强大的配置分发机制,能够在保障一致性的前提下将配置内容分发到多个应用程序实例当中。

然而根据其设计思路的限定,我们目前只能在应用程序启动时对其配置进行更新。

在向Git中的某一属性发送新值时,我们需要以手动方式重启每个应用程序进程,从而保证该值被切实纳入应用当中。

很明显,大家需要能够在无需重启的前提下完成对应用程序配置内容的更新工作。

如何利用Spring Cloud构建起自我修复型分布式系统 Spring Cloud Bus的任务正是为应用程序实例添加一套管理背板。

它目前依靠将一套客户端绑定至一组AMQP交换与队列当中来实现,但这一后端在设计上也实现了可插拔特性。

Spring Cloud Bus为我们的应用程序带来了更多管理端点。

在图二中,我们可以看到一个面向greeting属性的值被发送至Git当中,而后一条请求被发送至应用A中的/bus/refresh端点。

该请求会触发以下三个事件: 应用A从Config Server处请求获取最新版本的配置内容。

任意注明了@RefreshScope的Spring Bean都会被重新初始化并载入新的配置内容。

应用A向AMQP交换机制发送一条消息,表明其已经收到更新指示。

通过监听AMQP队列而被纳入Cloud Bus的应用B与应用C会获取到上述消息,并以与应用A同样的方式实现配置更新。

现在我们已经有能力在无需重启的情况下对应用程序配置进行更新了。

maven打包忽略注解_maven打包包含注释相关推荐

  1. maven打包忽略注解_maven打包后pom.properties中的注释问题-阿里云开发者社区

    使用maven打包后,在META-INF目录下会生成pom.properties文件(当然可以使其不生成).这个文件包含了包的Id信息,此外它最开始有两行注释,看起来是这样的 #Generated b ...

  2. maven打包忽略注解_Maven打包时遇到的一些坑和解决方案

    背景: 最近将部分代码集成至Jekins中进行CICD发布,编译执行的时候出现以下错误.解决过程中将方案记录保证后续不会出现同样的错误. 一.编译之后target中classes文件夹中没有class ...

  3. maven打包忽略注解_java lombok包在maven已经配置,但是注解没用

    如果你是用eclipse作为开发环境,配置了maven依赖以后,还需要在eclipse/myeclipse中手动安装lombok. 其实就是加一个jar包,添加2行代码 1. 将 lombok.jar ...

  4. 改变maven打包路径_Maven打包技巧

    "打包"这个词听起来比较土,比较正式的说法应该是"构建项目软件包",具体说就是将项目中的各种文件,比如源代码.编译生成的字节码.配置文件.文档,按照规范的格式生 ...

  5. maven 打包指定依赖包_maven打包加入依赖包以及加入本地依赖包的方法

    Maven引入本地Jar包并打包进War包中 1.概述 在平时的开发中,有一些Jar包因为种种原因,在Maven的中央仓库中没有收录,所以就要使用本地引入的方式加入进来. 2. 拷贝至项目根目录 项目 ...

  6. Maven连同关联依赖一起打包成可执行jar

    Maven连同关联依赖一起打包成可执行jar 文章目录 Maven连同关联依赖一起打包成可执行jar 前言 一.前提知识 二.上代码 连同仓库依赖一起打包 连同本地依赖一同打包 前言 Maven可以使 ...

  7. 使用Maven 构建、开发和打包 JavaFX 项目

    Maven 是一个项目管理工具,可以对 Java 项目进行构建.依赖管理等.使用 Maven, 可以方便地构建打包JavaFX项目.本章前提条件是你系统已经安装并且配置好了 jdk8 和 Maven, ...

  8. Maven 新版本 3.8.1 打包报错 maven-default-http-blocker (http://0.0.0.0/): Blocked mirror for repositories

    Maven 新版本 3.8.1 打包报错 maven-default-http-blocker (http://0.0.0.0/): Blocked mirror for repositories [ ...

  9. Maven父子结构的项目依赖使用以及打包依赖_微服务项目(maven父子级项目)怎么打包

    Maven父子结构的项目依赖使用以及打包依赖 1:在父子结构项目中,如果要是用其他模块的类.在当前项目中的pom中 加入 其他模块的配置 <dependency><groupId&g ...

最新文章

  1. 关于移动端rem适配
  2. CentOS 安装FTP
  3. 今天是我“略懂”Python的第200天,我遇到了新刺激……
  4. 我的学习开发环境,呵呵!
  5. SWPU第二届天梯选拔赛暨蓝桥杯训练赛题解
  6. 使用EntityFramework连接 Mysql
  7. html不同app可以缓存多少,HTML5 AppCache和普通浏览器缓存之间有什么区别?
  8. 一分钟先生---走出软件作坊:三五个人十来条枪 如何成为开发正规军(三十二)...
  9. 微信小程序自定义下拉刷新
  10. 文献阅读-CSC-中文错别字-有关论文搜集-+CGED
  11. 如何查看电脑ip地址
  12. 数控弯管机xyz转换ybc的算法_数控弯管机技术的更新和应用.pdf
  13. win10电脑连上wifi,后没有网络
  14. php微信银行卡rsa加密,企业付款到银行卡用RSA公钥加密银行卡号失败
  15. Struggling
  16. markdown渲染器--ACwing网站yxc老师题解
  17. java broken pipe_java.net.SocketException: Broken pipe问题解决
  18. 【Sofice小司笔记】1 Java,包含java基础知识,集合,面向对象,反射,泛型等
  19. android中级培训,Android 中级学习心得
  20. 怎么改变png图片的大小kb?怎么更改png图片的大小?

热门文章

  1. matlab 标题宋体,转:Matlab图形中title、xlabel、ylabel、zlabel、textbox和legend等的Interpreter属性...
  2. 微信开发清理缓存,不清除微信里面东西
  3. 思科交换机的基本配置
  4. 关于扩展ASCII码
  5. 如何一键删除计算机的更新,别再提醒我更新win10系统啦!官方推荐一键关闭更新方法,亲测有效!...
  6. 手把手教你如何配置内核---举例添加RT5370驱动
  7. PPT不用粘贴复制把一张幻灯片的内容分成两张幻灯片
  8. github、百度、高德及腾讯坐标转换精度测试
  9. 橱窗推荐是什么意思,有什么用?
  10. tail在linux中的含义,如何在Linux中使用Tail命令