草庐IT

strategy-pattern

全部标签

java - 正则表达式疯狂 : java. util.regex.Pattern 匹配器进入高 CPU 循环

注意:我看过这个question,但还没有人回答,所以帮助不大。奇怪的是,被标记为“可能重复”的问题已被删除(我第一次看到。)我们在使用Pattern进行正则表达式验证时遇到问题。这些都没有发生在我们的代码中,整个事情都发生在SpringFramework和Hibernate的验证中。(Spring3.2.1,Spring3.1.1,Hibernate验证4.2.0)此调用尝试使用@Valid注释验证SpringFramework@ModelAttribute注释:@RequestMapping("/foo/bar")publicStringdoFooBar(@Valid@ModelA

java - 排除子目录的过滤器映射 url-pattern

有什么方法可以使过滤映射不包含子目录吗?例如。我的上下文根目录中有.xhtml文件,我还有一个名为“test”的子文件夹,其中包含具有相同扩展名的文件。是否可以将过滤器映射到上下文根目录中的文件而不是“测试”目录中的文件? 最佳答案 url-pattern确实在匹配上有限制。它只允许精确、前缀或后缀匹配。不是中间/整体/正则表达式匹配。所以例如/*.xhtml你打算做的是行不通的。如果您想在/test中排除XHTML只有文件夹,那么你最好的是Filter收听url-pattern的*.xhtml在doFilter()中基本上完成以下

java - 控制反转、依赖注入(inject)和策略模式以及 Java 中的示例

我经常对这三个术语感到困惑。这三个跟我长得很像。有人可以通过示例向我清楚地解释它们吗。我看过类似的帖子,完全不懂。 最佳答案 依赖注入(inject)是指告诉类它的依赖项是什么的模式,而不是要求类知道在哪里可以找到它的所有依赖项。因此,例如,您从这里开始:publicclassUserFetcher{privatefinalDbConnectionconn=newDbConnection("10.167.1.25","username","password");publicListgetUsers(){returnconn.fetc

责任链模式(Chain of Responsibility Pattern)

责任链模式说明责任链模式(ChainofResponsibilityPattern)属于行为型模式,它是指使多个对象都有机会处理请求,将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。从而避免请求的发送者和接收者之间的耦合关系。结构责任链模式主要角色如下:抽象处理者(Handler):定义处理请求的接口,并维护了下一个处理者的引用;具体处理者(ConcreteHandler):根据需求实现处理请求的接口,如果处理不了,则交个下一个处理者处理。代码案例抽象处理者(Handler)/***@program:chain*@description:抽象员工类,抽象处理者(Hand

java - @DateTimeFormat(pattern ="yyyy-MM-dd") 使用 Spring Mvc Rest Service 给出 "error 400 request syntactically incorrect"

这个问题在这里已经有了答案:Therequestsentbytheclientwassyntacticallyincorrect.-SpringMVC+JDBCTemplate(6个答案)关闭7年前。我无法让它工作:@RequestMapping(value="/people",method=RequestMethod.GET,produces="application/json")public@ResponseBodyListsearchPerson(@RequestParam(value="birthDay",required=false)@DateTimeFormat(patte

java - 策略设计模式、泛型和类型安全

我想结合工厂创建以下策略模式,但我希望它是类型安全的。到目前为止,我已经完成了以下工作:publicinterfaceParser{publicCollectionparse(ResultSetresultSet);}publicclassAParserimplementsParser{@OverridepublicCollectionparse(ResultSetresultSet){//performparsing,getcollectionCollectioncl=performParsing(resultSet);//localprivatemethodreturncl;}}p

java - Pattern.asPredicate 中的错误?

给定以下字符串列表:ListprogLangs=Arrays.asList("c#","java","python","scala");和一个应该匹配4个字母的小写字符串的正则表达式模式。Patternp=Pattern.compile("[a-z]{4}");现在我想找到适合模式p的progLangs元素。老办法:for(Stringlang:progLangs){if(p.matcher(lang).matches()){System.out.println(lang);}}我得到了预期的结果:java但是当我尝试使用Java8流实现相同的目的并使用Pattern.asPredic

java - 复合策略模式 - java - 这段代码有多糟糕?

这个问题是我之前帖子的延续:Visitorpatternimplementationinjava-Howdoesthislook?重构我的代码时我有点困惑。我正在尝试将我的访问者模式(在之前的帖子中进行了解释)转换为复合策略模式。我正在尝试做这样的事情:publicinterfaceRule{publicListcheck(Validatablevalidatable);}现在,我将定义如下规则:publicclassValidCountryRule{publicListcheck(Validatablevalidatable){//invokeDAOanddosomething,if

Java - 解析字符串 - String.split() 与 Pattern 和 Matcher

给定一个包含表示专有名词和类别/描述对的逗号分隔列表的字符串,使用String.split()与Pattern&Matcher方法查找特定专有名词并提取相关类别的优缺点是什么/描述对?haystack字符串格式不会改变。它将始终包含以下形式的逗号分隔数据PROPER_NOUN|类别/描述两种方法的共同变量:Stringhaystack="EARTH|PLANET/COMFORTABLE,MARS|PLANET/HARDTOBREATHE,PLUTO|DWARF_PLANET/FARAWAY";Stringneedle="PLUTO";Stringresult=null;使用String