草庐IT

@Transactional注解与try catch

全部标签

java - 为 maven-processor-plugin 编写注解处理器

我有兴趣为maven-processor-plugin编写注释处理器。我对Maven比较陌生。处理器Java源代码应该放在项目路径中的什么位置(例如:src/main/java/...),以便它得到适当的编译,但最终不会成为我的ArtifactJAR文件的一部分? 最佳答案 最简单的方法是将注解处理器放在一个单独的项目中,并将其作为依赖项包含在内。如果这对您不起作用,请使用此配置编译器插件:org.apache.maven.pluginsmaven-compiler-plugin2.3.21.51.5truedefault-comp

java - Java注解的可维护性?

我的项目正在慢慢实现Java注解。一半的开发人员-包括我自己-发现使用注释做任何复杂的事情似乎都会增加我们的整体维护负担。团队的另一半认为他们是蜜蜂的膝盖。您在开发团队维护注释代码方面的实际经验是什么? 最佳答案 我的个人经验是,平均而言,对于大多数开发人员来说,处理注释比处理标准的JavaXML配置hell要容易得多。对于JPA和Spring测试之类的东西,它们绝对是救命稻草。注解的好处是它们可以在你的类上进行配置自文档化。现在,您的类告诉您,您不必搜索庞大的XML文件来尝试弄清楚框架如何使用您的类。通常,此类更改的问题在于适应它

java - 具有注解驱动的 spring 任务的多个 spring 任务执行器

我有一个类MessageProcessor被另一个类中的另一个方法调用(即Caller)。publicclassCaller{@Scheduled(filxedDelay=10)publicvoidpoll(){//dostuffmessageProcessor.process(msg);}}publicclassMessageProcessor{@Async(value="abcExecutor")publicvoidprocess(Stringmsg){//dostuffhere.}}Spring文件看起来像:我想添加另一个@Async执行器:@Async(value="defEx

java - 如何通过JPA注解指定SQL注释?

有没有办法通过JPA注解来指定SQL注释?表和列的注释。 最佳答案 至少对于MySQL是有办法的。这取决于您的数据库引擎。对于MySQL,您可以将注释添加到columnDefinition。这是列的示例:/***Databaseid.*/@javax.persistence.Id@javax.persistence.GeneratedValue(strategy=javax.persistence.GenerationType.AUTO)@javax.persistence.Column(columnDefinition="SMAL

java - Spring 3 基于注解的验证 : password and confirm password

在我的Spring3MVC应用程序中,用户需要保存密码,如果他们也能够在保存时确认密码,那将是一个不错的功能。在bean中,我使用基于注释的验证。是否有注释validator可用于执行此检查?经过一番谷歌搜索后,我找到了这个博客:http://gochev.blogspot.com/2010/06/spring-mvc-spring-bean-validation.html.但我想我在这里缺少一个jar-lib,因为Eclipse无法找到/建议任何jar。任何人都知道我需要什么jar才能工作?提前致谢:) 最佳答案 为了验证密码,我

java - Spring @Transactional注解: Self Invocation

我知道当从同一个类内部调用事务方法时,它不会在事务中运行。Spring为事务方法创建代理并将它们包装在try-catchblock中,并在发生异常时回滚。考虑以下场景:@TransactionalpublicvoidsaveAB(Aa,Bb){saveA(a);saveB(b);}@TransactionalpublicvoidsaveA(Aa){dao.saveA(a);}@TransactionalpublicvoidsaveB(Bb){dao.saveB(b);}假设saveAB被另一个对象调用并且在saveB中发生异常,所以saveA成功完成但saveB没有。据我所知,即使sa

java - Spring Boot 测试中的 MockBean 注解导致 NoUniqueBeanDefinitionException

我在使用@MockBean注释时遇到问题。文档说MockBean可以替换上下文中的bean,但我在单元测试中遇到了NoUniqueBeanDefinitionException。我看不到如何使用注释。如果我可以模拟repo,那么显然会有不止一个b​​ean定义。我正在按照此处找到的示例进行操作:https://spring.io/blog/2016/04/15/testing-improvements-in-spring-boot-1-4我有一个mongo存储库:publicinterfaceMyMongoRepositoryextendsMongoRepository{MyDTOfi

详解Java中的注解

在Java中,注解(Annotation)引入始于Java5,用来描述Java代码的元信息,通常情况下注解不会直接影响代码的执行,尽管有些注解可以用来做到影响代码执行。注解可以做什么Java中的注解通常扮演以下角色编译器指令构建时指令运行时指令其中Java内置了三种编译器指令,本文后面部分会重点介绍Java注解可以应用在构建时,即当你构建你的项目时。构建过程包括生成源码,编译源码,生成xml文件,打包编译的源码和文件到JAR包等。软件的构建通常使用诸如ApacheAnt和Maven这种工具自动完成。这些构建工具会依照特定的注解扫描Java代码,然后根据这些注解生成源码或文件。通常情况下,注解并

java - 如何在Java中获取接口(interface)或抽象类方法的注解

我有一个这样的界面:publicinterfaceIFoo{@AnnotationTest(param="test")Stringinvoke();}我是这样实现的:publicclassFooimplementsIFoo{@OverridepublicStringinvoke(){Methodmethod=newObject(){}.getClass().getEnclosingMethod();AnnotationTestann=method.getAnnotation(AnnotationTest.class);if(ann==null){System.out.printl("P

java - 如何创建处理局部变量的注解处理器?

我正在尝试为局部变量创建注释。我知道我无法在生成的字节码中保留注释,但我应该能够通过执行以下操作在编译时访问信息:@Target({ElementType.LOCAL_VARIABLE})@Retention(RetentionPolicy.SOURCE)public@interfaceJunk{Stringvalue();}只是,当我在以下支持的类型中指定具有“垃圾”的ProcessorFactory时,apt或javac不会处理它:classJunkTester{publicstaticvoidmain(String[]args){@JunkStringtmp="HelloWorl