wangjiong
码龄24年
关注
提问 私信
  • 博客:316,154
    社区:320
    316,474
    总访问量
  • 189
    原创
  • 669,254
    排名
  • 5
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:四川省
  • 加入CSDN时间: 2001-01-03
博客简介:

wangjiong的专栏

博客描述:
笑对人生,永不言败
查看详细资料
个人成就
  • 获得6次点赞
  • 内容获得14次评论
  • 获得19次收藏
创作历程
  • 5篇
    2017年
  • 16篇
    2006年
  • 60篇
    2005年
  • 113篇
    2004年
成就勋章
TA的专栏
  • Spring Boot
    2篇
  • Hybris
    1篇
  • .Net
    10篇
  • Core J2EE Patterns
    2篇
  • Design Patterns
    27篇
  • Excerpt of CC2
    28篇
  • J2EE
  • Java
    5篇
  • Other
    32篇
  • PetStore Research
    12篇
  • SCEA
    24篇
  • Software Engineering
    19篇
  • 读书笔记
    56篇
创作活动更多

超级创作者激励计划

万元现金补贴,高额收益分成,专属VIP内容创作者流量扶持,等你加入!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

在idea intellij中使用Sonarqube进行代码检查

Sonarqube是一个功能非常强大的代码质量检查、管理的工具。能够识别多种常用的编程语言,并能够通过设置不同的RuleSonar是一个代码质量管理的开源工具,它通过插件的形式能够识别常见的多种编程语言(例如Java, C#, PHP, Pythod等)代码质量问题。Sonar可以帮你分析出以下代码质量问题:1.不遵循代码标准2.潜在的缺陷3.代码重复4
原创
发布博客 2017.07.26 ·
35492 阅读 ·
1 点赞 ·
3 评论 ·
16 收藏

根据配置文件来切换不同服务的实现

在MicroService开发中经常会遇到一个问题,自己的服务需要调用其它小组的服务,但是其他小组的服务还没有完成。为了不耽误进度,我们就需要先实现一个Mock的服务,最后再切换到真正的外部服务上去。同时,一旦外部服务出现问题,为了不阻塞本地开发,我们需要很方便的切换到Mock服务上去。通过修改配置文件里面的内容,可以实现不修改代码来切换不同的服务。通用服务接口:pub
原创
发布博客 2017.07.19 ·
567 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Spring Boot中@OneToMany与@ManyToOne几个需要注意的问题

@OneToMany如果不加@JoinColumn,系统会自动在主从表中增加一个中间表。主表:@Entity(name = "Post")public class Post { @Id @GeneratedValue private Long id; private String title; @OneToMany(
原创
发布博客 2017.07.19 ·
1667 阅读 ·
2 点赞 ·
0 评论 ·
3 收藏

Spring Boot的单元测试(Unit Test)

最近做了一些Spring Boot单元测试方面的东西,总结一下。单元测试尽量要和Spring Boot框架减少耦合度,当你在测试某一项功能点是需要mock太多的对象时你就应该意识到这个功能点的耦合度太高了
原创
发布博客 2017.07.19 ·
7003 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

Hybris安装Sample及遇到的一些问题

一. 解压的时候有可能会遇到错误信息“Cannot create total path and file name length must exceed 260 characters”,这是受到了目录长度的限制。两个解决办法:1.使用专业的解压工具。2.使用代码:jar -xvf 二. 安装可以使用Installer目录下面的Install.bat安装,就完全自动化安装,基本不需要人工干预。
原创
发布博客 2017.02.19 ·
1356 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Review on Expert J2EE 1

J2EE Myths1. Portability; 过分强调可移植性,会失去一些平台所特有的能力,增大投入,降低生产力。应该是Design Once, Re-implement a Few Interface Anywhere.2. Performance: 不能依靠应用程序服务器和硬件来提高性能,在设计时就应该把性能因素考虑进去。3. Transparent:尽管应用程序服务器可以管理很多底
原创
发布博客 2006.09.12 ·
1004 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Refactoring to Patterns Review 7

Replace Conditional Dispatcher with Command当使用条件语句,根据不同的条件执行不同的命令,这时可以为每一种命令创建一个Command,将Command存入集合中,然后将原有条件语句替换为从集合中取出Command并执行。并不是所有条件语句都需要这样做,在以下两个情况中可以考虑。1. 需要动态替换命令。2. 命令语句庞大,逻辑复杂。Extract A
原创
发布博客 2006.09.11 ·
906 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Refactoring to Patterns Review 6

Move Accumulation to Collecting Parameter当在一个方法中运行一大堆代码对一个变量进行累加(例如字符串变量),可以将这个方法分解为多个易于理解的小方法(Compose Method),并给这些方法传入同一个Collection Paameter(例如StringBuilder)。Extract Composite当不同子类中实现了相同的Composite,
原创
发布博客 2006.09.11 ·
913 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Book Review about Head First Design Pattern 9

State一个类的内部有不同的状态,在执行一些操作时,会根据当时所处的状态得到不同的结果(新的状态)。一般做法是在这些操作中使用if/switch语句,但是这样不利于以后代码的修改。使用State,创建一个Interface,定义公用的操作,根据不同状态创建相应的state子类,分别在子类中实现具体的操作。 
原创
发布博客 2006.08.31 ·
1004 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Book Review about Head First Design Pattern 8

Iterator在对象内部使用不同的Collection来存放对象,如果从外部直接访问collection,会导致几个问题产生:1. 不同的collection类型访问的方法不同2. 会暴露代码内部结构。Iterator建立一个公用接口,对collection进行统一的封装,通过相同的接口方法访问不同的collection.Principle 8:A class should have onl
原创
发布博客 2006.08.28 ·
962 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Book Review about Head First Design Pattern 7

Template在Template的抽象基类中,一般可以分为三种方法。1. 声明为abstract的方法,需要子类来实现2. 各子类共有的代码,在基类中实现。一般为了防止子类override,可以把这种方法声明为final3. 被称为hook方法,在基类中什么也不做,或者是执行默认的动作,子类可以override.Template和Strategy的区别:Template定义了一个算法的一系列
原创
发布博客 2006.08.21 ·
1011 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Book Review about Head First Design Pattern 6

CommandNull object: 在一些程序中,要针对对象是否为null做出判断,根据不同的结果作出不同的处理。但是一旦这样的情况比较多的时候,写出的程序就比较繁琐。这时可以为对象建立一个Null Object, 具有普通对象所有的方法,但是不进行任何操作,这样就可以对所有情况进行统一处理。Adapter分为object adapter, class adapter。Object Ada
原创
发布博客 2006.08.17 ·
997 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Book Review about Head First Design Pattern 5

在多线程的情况下有可能产生多个实例1. 使用synchronized关键字,但是这样有可能造成资源浪费并影响性能。2. 在static initializer中就初始化实例,但是这样在客户程序还没有要用到这个对象的时候就已经创建了对象实例,造成不必要的浪费3. 使volatile关键字,进行双重检查private volatile static Singleton instance;pub
原创
发布博客 2006.08.15 ·
956 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Book Review about Head First Design Pattern 4

在代码中,有时会根据不同的条件创建不同的对象,一般是使用switch语句来做,这样当有了新的对象需要创建时,就要修改代码,违反了Closed for modification,尤其是当这种代码也会在其他地方使用的时候,会给修改带来麻烦。为解决这个问题,有时候会把这部分代码抽离出来单独放到一个类里面去,这就是Simple Factory.在Simple Factory里面用不用static方法来
原创
发布博客 2006.08.11 ·
1127 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

在C#隐藏主窗口的几种方法

写过一个程序,要求在程序启动的时候主窗口隐藏,只在系统托盘里显示一个图标。一直以来采用的方法都是设置窗口的ShowInTaskBar=false, WindowState=Minimized。但是偶然发现尽管这样的方法可以使主窗口隐藏不见,但是在用Alt+Tab的时候却可以看见这个程序的图标并把这个窗口显示出来。因此这种方法其实并不能满足要求。经过研究,又找到两个方法。方法一: 重写set
原创
发布博客 2006.08.10 ·
18240 阅读 ·
0 点赞 ·
1 评论 ·
16 收藏

Book Review about Head First Design Pattern 3

Principle 5:Classes should be open for extension, but closed for modification.Decorator Pattern: Concrete object 和 Decorator object 都继承至同一个基类,但是在Java中也可以通过Interface来实现。Decorator object的构造函数中必须有concr
原创
发布博客 2006.08.09 ·
1078 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Book Review about Head First Design Pattern 2

Principle 4: Strive for loosely coupled designs between objects that interactObserver Pattern:关键是subject的数据怎样传递给Observer,是直接在方法参数中传递还是让Observer通过getter来取。如果数据少,通过参数传递比较方便,但是有可能每个Observer所需要的数据不一样,造成
原创
发布博客 2006.08.09 ·
911 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Book Review about Head First Design Pattern

Inheritance的优缺点:可以代码重用。但是子类的行为可能不一致,甚至有些根本就不具有这种行为,这是就需要对每个子类的具体实现进行覆盖、修改。而且也不能动态对行为进行更换Interface的优缺点:灵活。但是代码不能重用Principle 1: Idnetify the aspects of your application that vary and separate them
原创
发布博客 2006.08.04 ·
1016 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Refactoring to Patterns Review 5

Encapsulate Composite with Builder有时候创建Composite是一个重复的,复杂的,易出错的过程。使用Builder来简化这个过程,并降低客户与具体方法的耦合。例如创建DOMDocument, 如果不使用Builder, 以后在DOM版本升级的时候和产生很大的麻烦。 Replace Consturctor with Creation Method构造函数有几点
原创
发布博客 2006.07.10 ·
1039 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Refactoring to Patterns Review 4

Replace Implicit Tree with Composit就像构造一个XML文档一样类似的树状结构,将节点抽象为类,在类中产生对应的字符串结构。Replace Conditional Logic with Strategy在一个方法中使用Conditional Logic来控制程序逻辑,使程序根据不同的条件进行不同的运算。为每一个变化的运算方式建立一个Strategy,委托Stra
原创
发布博客 2006.07.03 ·
840 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多