我正在编写一个Spring应用程序,似乎当我遇到数据库错误时,有时会ConstraintViolationException抛出Hibernate,有时会抛出Spring DataIntegrityViolationException.是否有理由抛出而不是另一个?他们的意思是不同的吗?
我有一个类PlayCard代表一个特定的扑克牌.我有另一个类Deck,它包含一个PlayingCard对象列表.Deck有一种shuffle()随机化卡片顺序的方法.
我想为shuffle()方法编写一些单元测试,但我有点不知所措.我更喜欢测试不关心洗牌是如何完成的内部,但我希望它们是好的测试.
当涉及随机性时,我如何进行最佳单元测试?
新的iPhone 3GS支持语音命令,比如"呼叫比尔"或"按笔画播放音乐"等等.
我正在浏览iPhone SDK,但我找不到任何对此功能的引用.我选择的所有搜索关键字似乎只能找到新的语音聊天功能.
有谁知道Apple是否在SDK中添加了语音命令API,或者它是否是另一个禁用的API?如果它确实存在,有人可以指出一个特定的课程给我?
我想像这样使用@RequestParam注释:
@RequestMapping
public void handleRequest( @RequestParam("page") int page ) {
...
}
Run Code Online (Sandbox Code Playgroud)
但是,如果用户摆弄URL参数并尝试转到页面"abz"或非数字的东西,我想显示第1页.现在,我可以让Spring做的最好的事情是返回500.有没有办法干净地覆盖这个行为,而不必将参数作为字符串接受?
我查看了@ExceptionHandler注释,但是当我设置使用时它似乎没有做任何事情@ExceptionHandler(TypeMismatchException.class).不知道为什么不.
建议?
PS Bonus问题:Spring MVC被称为Spring MVC.带有注释的Spring MVC是否叫做Spring @MVC?谷歌将它们视为同名,这很烦人.
我在我的Rails应用程序中设置了一个ActiveModel类,如下所示:
class MyThingy
extend ActiveModel::Naming
extend ActiveModel::Translation
include ActiveModel::Validations
include ActiveModel::Conversion
attr_accessor :username, :favorite_color, :stuff
def initialize(params)
#Set up stuff
end
end
Run Code Online (Sandbox Code Playgroud)
我真的希望能够做到这一点:
thingy = MyThingy.new(params)
thingy.update_attributes(:favorite_color => :red, :stuff => 'other stuff')
Run Code Online (Sandbox Code Playgroud)
我可以自己编写update_attributes,但我觉得它存在于某个地方.可以?
我有一个应用程序,可以定期将照片上传到GCS存储桶.上传这些照片后,我需要添加缩略图并进行一些分析.如何为存储桶设置通知?
google-cloud-storage google-cloud-platform google-cloud-pubsub
我是一个grails新手(和一个时髦的新手),我正在通过一些grails教程.作为一个新用户,grails shell对我来说是一个非常有用的小工具,但我无法弄清楚如何让它看到我的类和对象.这是我正在尝试的:
% grails create-app test
% cd test
% grails create-domain-class com.test.TestObj
% grails shell
groovy:000> new TestObj()
ERROR org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed, groovysh_evaluate: 2: unable to resolve class TestObj
Run Code Online (Sandbox Code Playgroud)
我的印象是grails shell可以看到所有控制器,服务和域对象.怎么了?我需要在这里做点什么吗?
我尝试了另外一件事:
groovy:000> foo = new com.test.TestObj();
===> com.test.TestObj : null
groovy:000> foo.save
ERROR groovy.lang.MissingPropertyException: No such property: save for class: com.test.TestObj
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
编辑:好的,我看到了关于使用全名和使用.save()而不是使用的答案.save.但是这个怎么样?
groovy:000> new com.test.TestObj().save()
ERROR org.hibernate.HibernateException: No Hibernate Session bound to thread, and configuration does not allow creation of non-transactional one here …Run Code Online (Sandbox Code Playgroud) 我在Eclipse的Java应用程序中有两个源代码树.一个是"src",一个是"测试".每个包含.java文件的目录树.到现在为止还挺好.
但是,我希望"test"中的类能够在"src"中看到类,但是对于"src"中的类,无法在"test"中看到类.同样,我想要包含一些测试库.我不希望任何这些库在"主"树中可用,以免我不假思索地使用它.
有没有一种简单的方法在Eclipse中设置它?
我的工作团队将开始在一个拥有大量业务逻辑和大量数据库的网站上工作.不久.我们必须选择一种语言和框架来构建它,但我们不确定从哪里开始.实际上有很多选择.我们所需要的只是挂钩数据库的东西,允许快速开发和原型设计的东西,以及可以很好地扩展的东西.
谁是今天该领域前5名左右的球员?
Java的内部类可以是静态的也可以是非静态的.非静态内部类与封闭类的实例相关联.
注释是一种Java接口,与任何其他类一样,它们可以在类中定义.同样,它们可以声明为静态或非静态.这两个选择之间有什么区别,它们在使用代码时的使用方式有何不同,是否有任何使用其中一种选择的情况?
例:
public class AnnotationContainer {
public static @interface StaticAnnotation {}
public @interface NonstaticAnnotation {}
}
Run Code Online (Sandbox Code Playgroud) java ×2
spring ×2
activemodel ×1
classpath ×1
eclipse ×1
frameworks ×1
grails ×1
groovy ×1
groovyshell ×1
hibernate ×1
iphone ×1
spring-mvc ×1
unit-testing ×1