小编Car*_*ter的帖子

Spring MVC控制器继承和路由

在我的Spring MVC webapp中,我有一个用于CRUD操作的通用RESTful控制器.而且每个具体的控制器只有一个声明@RequestMapping,例如/foo.通用控制器处理所有请求/foo/foo/{id}.

但现在我需要编写一个更复杂的CRUD控制器,它将获得额外的请求参数或路径变量,例如/foo/{date}/foo/{id}/{date}.所以我扩展了我的通用CRUD控制器并编写了重载fetch(id, date)方法,它将处理两者{id}{date}.那不是问题.

但是我还需要'禁用' fetch(id)从基类派生的 实现(资源不能/foo/{id}再用,只能在那里/foo/{id}/{date}).我想出的唯一想法是在我的具体控制器中覆盖此方法,将其映射到假uri上并返回null.但这看起来像是丑陋的脏黑客,因为我们暴露了一些假的资源uri,而不是禁用它.可能有更好的做法?

有任何想法吗?

//My generic CRUD controller
public abstract class AbstractCRUDControllerBean<E, PK extends Serializable> implements AbstractCRUDController<E, PK> {

  @RequestMapping(method=RequestMethod.GET)
  public @ResponseBody ResponseEntity<E[]> fetchAll() { ... }

  @RequestMapping(value="/{id}", method=RequestMethod.GET)
  public @ResponseBody ResponseEntity<E> fetch(@PathVariable("id") PK id) { ... }

  @RequestMapping(method=RequestMethod.POST)
  public @ResponseBody ResponseEntity<E> add(@RequestBody E entity) { ... }

  @RequestMapping(value="/{id}", method=RequestMethod.PUT) …
Run Code Online (Sandbox Code Playgroud)

java spring spring-mvc spring-annotations

15
推荐指数
1
解决办法
1万
查看次数

git:我可以子树只合并存储库的子路径吗?

我有遥控器Foo和Bar.Foo是一个包含大量目录的Web应用程序,/public其中相关的目录包含各种文件和其他目录.

Bar是一组库和前端使用的东西,因此它应该/public/bar在Foo中.Foo那里没有文件.

无论是子模块还是子树合并,这都是小菜一碟.然而…

Bar的树很乱,它有各种各样的预生产文件,比如PSD和FLA,唯一真正有用的部分就是它里面的东西/www/tools.

所以,我想要做的是将Bar's合并/www/tools到Foo中/public/bar,并假装Bar的其余部分甚至不存在.

可以做?

(我认为这与你最初将你的项目合并为子树的项目非常类似.我不知道该怎么做.)

git version-control merge subtree

14
推荐指数
2
解决办法
6477
查看次数

dbo.数据库对象名称中的前缀,我可以忽略吗?

我正在寻找一个处理.dbo前缀的高性能默认策略.

我意识到dbo.前缀不仅仅是语法噪音,但是我通过过去8年的基于MS的开发跳过键入dbo.前缀并忽略其功能.

除了存储过程编译锁的性能问题,在SQLqueries和存储过程中跳过键入".dbo"还有一个缺点吗?

进一步背景:我的所有开发都是基于中间层服务帐户的集成安全性的Web中间层.

sql sql-server

14
推荐指数
2
解决办法
2万
查看次数

如何验证重构是否等于原始代码

我正在使用遗留的Java代码,没有任何单元测试.为了使用该项目,需要重构许多类.

许多重构可以用eclipse完成,我是手工做的.经过一些重构后,我回顾了对cvs-HEAD的差异,但我真的不能确定一切都是100%正确的.

问题:如何验证重构,这与前一版本的数学相同?我希望有一个工具,但我也接受"基本的人类算法"作为解决方案.

我知道,"运行你的JUnit-Tests"是最好的答案,但遗憾的是,我的项目中没有任何答案.

谢谢!

java validation refactoring

14
推荐指数
3
解决办法
588
查看次数

Android - 相机预览

我正在尝试相机预览

这是我的代码,它不会抛出任何错误,但屏幕仍然是黑色的.有任何想法吗?

this.setContentView(R.layout.camerapreview);    
SurfaceView cameraSurface = (SurfaceView)findViewById(R.id.cpPreview);
SurfaceHolder holder = cameraSurface.getHolder();
holder.addCallback(this);
holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
this.camera = Camera.open();
this.camera.setPreviewDisplay(holder);
this.camera.startPreview();
Run Code Online (Sandbox Code Playgroud)

camerapreview.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content">
    <SurfaceView
        android:id="@+id/cpPreview"
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"
        android:layout_gravity="center">

    </SurfaceView>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

camera android preview

14
推荐指数
1
解决办法
4万
查看次数

将测试驱动开发应用于紧耦合架构

我最近一直在研究TDD,参加了一个会议并且涉足了几个测试,我已经100%销售,我绝对喜欢它TDD.

结果我和我的老年人一起提出了这个问题,他们准备给它一个机会,所以他们让我想出了一种在我们的企业产品开发中实施TDD的方法.

问题是我们的系统自从VB6发展到.NET以来已经发展并实现了许多遗留技术和一些远离最佳实践的开发技术,即ASP.NET代码背后的许多业务逻辑和客户端脚本.然而,最大的问题是我们的类如何与数据库访问紧密结合; 属性,方法,构造函数 - 通常以某种形式或某种形式访问某些数据库.

我们使用内部数据访问代码生成器工具创建sqlDataAdapters,它为我们提供了我们可能想要的所有数据库访问,这有助于我们快速开发,但是,业务层中的类与这个数据层紧密耦合 - 我们甚至没有接近实现某种形式的存储库设计.这和上面的问题给我带来了各种各样的问题.

我已经尝试为我已经编写的一些现有类开发一些单元测试但是由于需要db访问,测试需要花费更长时间才能运行,更不用说因为我们使用MS Enterprise Caching框架我被迫伪造一个httpcontext我的测试成功运行,这是不切实际的.另外,我无法看到如何使用TDD来驱动我编写的任何新类的设计,因为它们必须与数据库紧密耦合...帮助!

由于系统的体系结构,我似乎无法实现TDD而没有一些真正的黑客攻击,这在我看来只是打败了TDD的目标和随之而来的巨大好处.

有没有人有任何建议我如何用我必须约束的TDD实现TDD?或者我是否需要将存储库设计模式推向我的老年人喉咙并告诉他们我们要么改变我们的架构/开发方法还是完全忘记TDD?:)

谢谢

.net c# architecture tdd unit-testing

14
推荐指数
2
解决办法
1509
查看次数

重构SQL

是否有类似的重构这份名单SQL任何正式的技术在这里也就是代码?

我目前正在为一个特定的报告进行大规模的查询,我确信这里有足够的重构空间,我只是一点一点地磕磕绊绊.

sql refactoring

14
推荐指数
2
解决办法
9743
查看次数

清理大型遗留Java项目

我被指派在一个庞大的Java项目上做一些工作,并且几个迭代开发人员的影响是显而易见的.没有标准的编码风格,格式,命名约定或类结构.这是我和Javadoc一起上课的好日子,单元测试是一个快乐的白日梦.

到目前为止,我们这个项目的人已经"融入",适应我们正在进行的任何类别的现有惯例,但现在是时候强加一些秩序和一致性.

这是一项艰巨的挑战,我正在寻找人们可能对此类任务提出的任何建议.是否有任何特别有效的策略,或者需要注意的陷阱?尝试是一个好主意吗?

编辑添加:我不想给人一种项目不好的印象 - 它实际上是设计稳固而且写得很好.它只是感受它的年龄和维护的必然性......

java legacy formatting refactoring code-structure

14
推荐指数
2
解决办法
2001
查看次数

在Java中的方法中是否使用了自由浮动块?

我不知道方法可能有像这样的浮动块:

class X { 
    public static void main( String [] args ) {
        { //<--- start
            int i;
        } //<-- ends
    }
}
Run Code Online (Sandbox Code Playgroud)

我知道方法之外的浮动块,但从未尝试过它们.

这可能用于定义本地范围或其他内容.

在Java中的方法中是否有用于浮动块?

java methods language-features

14
推荐指数
1
解决办法
1971
查看次数

添加视图后刷新LinearLayout

我正在尝试动态地将视图添加到线性布局.我通过getChildCount()看到视图被添加到布局中,但即使在布局上调用invalidate()也不会让我看到孩子出现.

我错过了什么吗?

android drawable android-linearlayout

13
推荐指数
1
解决办法
4万
查看次数