Java 菜鸟,会把可变的配置信息写死在代码里:Java 老鸟,会把可变的配置信息提取到配置文件中.坊间流传这么一句非科学的衡量标准,来评判程序员的级别. 那么,项目中的配置信息,你平时都是怎样来实现的呢?你项目中用过哪些配置文件呢? 近期将结合实际项目或源码,说说这些年用过的那些有关配置的奇技淫巧,看看能否帮你提高研发能力(那怕是提高一丢丢,就算成功). 1. 后缀为 .ini 的文件,你用过没? 后缀为 .ini 的文件,是 Initialization File 的缩写,主要用于程序的初始…
灵魂拷问:YAML,在项目中用过没?它与 properties 文件啥区别? 目前 SpringBoot.SpringCloud.Docker 等各大项目.各大组件,在使用过程中几乎都能看到 YAML 文件的身影. 2017 年的时候,我才真正把 YAML 文件用到负责的项目中,当时用 YAML 文件主要是为 Sharding-JDBC 配置数据源以及分库分表的规则. 从实际项目中把 sharding-jdbc.yaml 文件抽出来,为了更清晰,进行了大量简化,接下来就一同感受一下 YAML 的…
Java项目发布时,配置文件不像.net项目一样与工程路径保持一致,而是直接包含在了jar包中,此时要修改就没那么方便了,我们可以将配置文件从jar包抽离出来,修改完之后再写入Jar包即可, 也没那么复杂,直接两个bat脚本搞定:(bat脚本需放于jar包同级目录) 1.抽离: @echo ************************** 提取开始 ************************** @echo off %切换盘符% cd %~dp0 %提取文件中的配置文件% %如果不知道…
LinkedHashMap和HashMap的比较使用 由于现在项目中用到了LinkedHashMap,并不是太熟悉就到网上搜了一下. import java.util.HashMap; import java.util.Iterator; import java.util.LinkedHashMap; import java.util.Map; public class TestLinkedHashMap { public static void main(String args[]) { Sy…
唉,读取个文件,也就是在项目里面去获得配置文件的目录,然后,变成文件,有事没事,总是出个 FileNotFoundException  系统找不到指定的文件,气死人啦. 还有就是:System.getProperty("user.dir"),都说获得的是“工作目录”,有老铁们在意这个,工作目录怎么理解吗?我这做了个简单的测试. 但是,你把这个配置文件放在项目的根目录下面,也就是 说你的项目文件夹下面直接放一个配置文件,这个时候,就可以,啥前缀不加的,就可以读取到,这个配置文件啦. 但是…
Java项目谈论行数多少有点无聊,但是有的时候就想看看一个开源的代码的量级,用Shell命令统计再合适不过了 去掉空行和注释: find . -name "*.java" |xargs grep -v -e ^$ -e '^\s*\/\/.*$' |wc -l 再去掉Test类 find . -name "*.java"|grep -v 'Test.java$' |xargs grep -v -e ^$ -e '^\s*\/\/.*$' |wc -l…
细数.NET 中那些ORM框架 —— 谈谈这些天的收获之一(转) ADO.NET Entity Framework        ADO.NET Entity Framework 是微软以 ADO.NET 为基础所发展出来的对象关系对应 (O/R Mapping) 解决方案, 早期被称为 ObjectSpace,现已经包含在 Visual Studio 2008 Service Pack 1 以及 .NET Framework 3.5 Service Pack 1 中发表. Entity Fra…
java项目——数据结构总结报告 20135315  宋宸宁 实验要求 1.用java语言实现数据结构中的线性表.哈希表.树.图.队列.堆栈.排序查找算法的类. 2.设计集合框架,使用泛型实现各类. 3.API的编写,并导出. 4.使用TDD模式,对程序进行测试,利用TestSuite将各测试类整合到一起. 5.与小组成员实现代码的整合. 实验设计过程 首先自学集合框架章节的内容,初步设计相关的类. 根据数据结构课本的章节分类,实验各数据结构类. 在类的编写过程中,经过老师的指导,我准备使用泛型…
此文主要讲述在初学 Java 时,常用的 Log4J 日志记录配置文件详解及实例源代码整理.希望能对初学 Java 编程的亲们有所帮助.若有不足之处,敬请大神指正,不胜感激!源代码测试通过日期为:2015-1-30 13:54:02,请知悉. 所需的 jar 包下载链接为:http://yunpan.cn/cKE56sxqtQCfP  访问密码 63d8 有关 Log4J 日志文件中日志级别及文件配置的详细情况,在 Log4J 的配置文件(xml.properties)中有详细的介绍,敬请参阅!…
Java项目打包在CMD或者Linux下运行 1.在CMD下运行 在eclipse中将项目export成jar包,然后用压缩软件解压…
在Java构建工具的世界里,先有了Ant,然后有了Maven.Maven的CoC[1].依赖管理以及项目构建规则重用性等特点,让Maven几乎成为Java构建工具的事实标准.然而,冗余的依赖管理配置.复杂并且难以扩展的构建生命周期,都成为使用Maven的困扰. Gradle作为新的构建工具,获得了2010 Springy大奖,并入围了2011的Jax最佳Java技术发明奖.它是基于Groovy语言的构建工具,既保持了Maven的优点,又通过使用Groovy定义的DSL[2],克服了 Maven中…
.literal { background-color: #f2f2f2; border: 1px solid #cccccc; padding: 1px 3px 0; white-space: nowrap; color: #6d180b; font-family: Consolas, "Liberation Mono", Courier, monospace; font-size: 16px } 一.基础入门 1.1 下载安装 下载相应的log4j-1.2.15.jar(也可以下载…
今天犯了一个错误,误修改了本地的.classpath文件,导致项目好多地方报错,之前也没有仔细的研究过项目中的一些生成文件的作用. 今天特此进行记录. 不管我们在eclipse中新建任何的Java项目或者web项目.都会在该项目的的位置下同时生成.seetings .classpath .project 这三个文件. .settings 文件里面存放各种插件的配置文件.这个文件是eclipse查看js文件的时候用的,记录了用什么编码方式查看.与发布无关..settings\文件夹不会被打到.wa…
欢迎查看Java开发之上帝之眼系列教程,如果您正在为Java后端庞大的体系所困扰,如果您正在为各种繁出不穷的技术和各种框架所迷茫,那么本系列文章将带您窥探Java庞大的体系.本系列教程希望您能站在上帝的角度去观察(了解)Java体系.使Java的各种后端技术在你心中模块化:让你在工作中能将Java各个技术了然于心:能够即插即用.本章我们来一起了解项目构建工具Maven.   什么是项目构建工具? 在进行编程操作的时候,我们常常会遇到很多与编程无关的项目管理工作,如下载依赖.编译源码.单元测试.项…
咱们通过创建一个 Static Web 项目大致了解了 IntelliJ IDEA 的使用界面,接下来,趁着这个热乎劲,咱们来创建第一个 Java 项目“HelloWorld”,进入如下界面: 如上图所示,点击Create New Project,进入如下界面: 上面的界面,咱们在前一篇博文中已经进行了介绍,在这里,咱们选择“ Java ”–>“ Java EE ”进行项目的创建,然后着重看一下第一个红色箭头所指的“ Project SDK ”,其表示在接下来咱们的项目中所使用的 SDK,要想进…
构建Jave项目 1.使用mvn archetype:generate命令,如下所示: mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=myapp -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false 2.使用mvn archetype:create命令,如下所示: mvn archetype:create -DgroupId…
Intellij Idea以下简称IJ. 昨天细数了IJ上的10大666的姿势,IJ确实很智能,在很多方便可以完爆Eclipes,可在某些方面真的被Eclipse秒杀 1.乱码 在Eclipse中很少遇到控制台乱码的情况,而在IJ中,不管是tomcat还是main方法经常会遇到乱码的情况,有一些可以指定编码解决问题,而有一些是Eclipse正常在IJ中却乱码真的无从解决. 2.注释模板 IJ可以自动为文件头.类创建注释也能配置,但对于方法.类的成员属性等只能通过Live Templates来配置…
此次说明:这是我从码云上拉取下来的java项目,仅供试验说明,不做任何获利渠道,若是发现有人拿此做其他用处,需像码云上这位大佬说明,特此感谢!!! 准备工作:     安装 maven,jdk1.8,下载项目(DBlog),mysql,redis,git 下载Maven 3安装包官网:http://maven.apache.org/download.cgi 清华镜像:https://mirrors.tuna.tsinghua.edu.cn/apache/maven/ 老夫下载好的软件=====>…
一:两种部署包: 部署之前先说下两种包,java项目部署到服务器一般有用war包的,也有用jar包的,微服务spring-cloud普及后大部分打包都是jar,部署之前先搞清楚自己要打war包还是jar包,下面小介绍两种包的区别: spring boot既可以打成war发布,也可以找成jar包发布.说一下区别: jar包:直接通过内置tomcat运行,不需要额外安装tomcat.如需修改内置tomcat的配置,只需要在spring boot的配置文件中配置.内置tomcat没有自己的日志输出,全…
前言 技术学习是一个总结.纠错.触类旁通的过程,而不是单纯重复练习的过程,如果你问一个做过5年以上Java的老码农,他们很多人都会有很强的"搬砖感",这种"搬砖感"其实就是对Java项目的触类旁通.看出套路来了,比如: (1)绝大部分Java应用系统,绝大部分功能归根到底都是数据库的"CRUD增删改查",中间加了一些数据的校验.转换和逻辑运算,不同之处就是有的功能流程拐弯多一些.性能要求高一些.界面交互炫酷一些等. (2)绝大部分应用系统,核心架…
前段时间,一同事说在 github 上“活捉了”一个很有趣的开源项目,它是一个超轻量级的 jar 包,能够帮助你在 java 项目中摒弃样板式的 properties 配置代码,让你轻松自如地管理和使用 properties. 是的,它就是本文的主角 owner. 关于 owner 的迷人之处,可以先从以下三方面一窥全豹: 简便:无需加载多余代码,转换并管理 properties 配置文件,通过最简单的方式使用你的 properties 强大:基于注解,自动类型转换,变量扩展,加载策略,热加载,…
都知道maven具有管理Java或者Javaweb的功能.我个人尤其看中的是其代码层次的分离.不同的代码在不同的文件夹下.这是在eclipse新建一个普通的工程无法实现的.而如果用maven实现有时候显得有点没有必要,特别是平时练习写代码的时候.能不能手动把普通的Java项目的目录结构修改为类似maven管理的项目的目录结构.这是当然可以的. Maven项目的目录结构: 从图中可以看出maven构建的Java web项目的目录很有层次感,src/main/java目录下存放的一般是项目的主要的代…
说明:本文所有测试以java工程为例: 1. Eclipse下的java工程目录 eclipse的基本工程目录叫做workspace,每个运行时的eclipse实例只能对应一个workspace,也就是说,workspace是当前工作的根目录. Eclipse在新建项目的时候会自动生成一些文件.这些文件比如.project..classpath..settings目录下的所有文件等.这些文件是Eclipse项目的元数据,描述了一个Eclipse项目. 1.1 修改工作空间 当你打开eclipse…
方案一:用Eclipse自带的Export功能 步骤1:准备主清单文件 “MANIFEST.MF”, 由于是打包引用了第三方jar包的Java项目,故需要自定义配置文件MANIFEST.MF,在该项目下建立文件MANIFEST.MF,内容如下: Manifest-Version: 1.0 Class-Path: lib/commons-codec.jar lib/commons-httpclient-3.1.jar lib/commons-logging-1.1.jar lib/log4j-1.…
iOS 项目中用到的一些 iOS 开源库和第三方组件 分享一下我目前所在公司 iOS 项目中用到的一些 iOS 开源库和第三方组件, 感谢开源, 减少了我们的劳动力, 节约了我们大量的时间, 让我们有更多的时间和精力能更加专注的做好自己的产品 用到的组件 1.通过CocoaPods安装 项目名称 项目信息 AFNetworking 网络请求组件 FMDB 本地数据库组件 SDWebImage 多个缩略图缓存组件 UICKeyChainStore 存放用户账号密码组件 Reachability 监…
maven是一个项目管理工具,使用maven可以自动管理java项目的整个生命周期,包括编译.构建.测试.发布和报告等.在大型项目开发中,使用maven来管理是必不可少的. 一.安装maven 1.Windows安装  1) 从官网(http://maven.apache.org/download.cgi)下载需要安装的maven版本,并解压到本地磁盘中:  2) 在系统环境变量中新建一个变量,名称为M2_HOME,值为maven所在路径,如:D:\apache-maven-3.3.1:  3)…
其实我想找一门“具有Python的简洁写法和融合Java平台的优势, 同时又足够有挑战性和灵活性”的编程语言. Scala 就是一个不错的选择. Scala 有很多语言特性, 建议先掌握基础常用的: 变量.控制结构 .正则与模式匹配.集合.文件读写/目录遍历.高阶函数.并发 Actor 模型: 然后是面向对象特性:类.Trait.泛型.注解 .操作符重载;  最后再细细学习那些复杂不常用的特性:类型转换.编译解析等:注重挖掘根源性的思想,能够推导出其它的特性. 本文使用 Scala 实现 Jav…
1:Qt的版本多到你数都数不清,多到你开始怀疑人生.从4.6开始到5.8,从MSVC编译器到MINGW编译器,从32位到64位,从Windows到Linux到MAC.MSVC版本还必须安装对应的VS2005 VS2008 VS2010 VS2013 VS2015,MINGW版本必须安装不小于某个版本号的Mingw编译器.很多人一看官网的下载链接,就蒙圈了,到底应该选择哪一个进行下载开发呢.本人就在四块硬盘上安装了七八个操作系统安装了十几个Qt开发环境. 2:Qt各种乱码问题(不只是Qt的问题,这…
在命令行中运行eclipse中创建的java项目 博客分类: java相关 javaeclipse命令行  由于项目要求,需要对eclipse中的项目进行打包,似的可以在客户机上不装eclipse的情况下正常运行. 一.环境说明:    eclipse---3.5    jdk-------1.6.0.22    os--------xp,win7 二.解决方案详情:    1.项目不引用外部jar包,仅仅依赖于jdk相关jar包,则有两种解决方案      方案一.通过eclipse/myec…
1.构建基本的Java项目 为了使用 Java 插件,添加下面代码到构建文件: build.gradle apply plugin: 'java' 这个就是 定义一个 Java 项目的全部.它会将 Java 插件应用到项目中,并且添加很多 task. Gradle 会在 src/main/java 目录下寻找产品代码,在 src/test/java 寻找测试代码 . 另外在 src/main/resources 包含了资源的 JAR 文件, src/test/resources 包含了运行测试.…