Tag: annotations

外行人的术语中的春季传播例子

Spring文档在描述事务传播属性方面做得非常出色。 但是,我想知道是否有任何众所周知的现实世界的例子可以用外行的话来更全面地描述这些属性?

如何对Spring MVC带注释的控制器进行unit testing?

我正在关注Spring 2.5教程并尝试将代码/设置更新到Spring 3.0。 在Spring 2.5中,我有HelloController (供参考): public class HelloController implements Controller { protected final Log logger = LogFactory.getLog(getClass()); public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { logger.info(“Returning hello view”); return new ModelAndView(“hello.jsp”); } } 以及HelloController的JUnit测试(供参考): public class HelloControllerTests extends TestCase { public void testHandleRequestView() throws Exception{ HelloController controller = new HelloController(); ModelAndView modelAndView […]

使用弹簧刻板印象的优点?

我正在使用spring-mvc开发一个Web应用程序。 现在可以使用@ Controller,@ Service和@Repository构造型。 我发现@Controller特别有用,特别是因为我正在使用 现在,关于@Service和@Repository,到目前为止看起来像 如果使用正确的构造型注释类,则可以更好地处理exception,确定,这是我承认的优势 我可以将组件扫描用于服务和DAO /存储库,但是我不喜欢使用组件扫描的想法,因为它减慢了应用程序的启动时间,这对我来说是一个关键特性(即使它只是1秒,我每周重新部署一次) 那么,除了更好的例外,还有其他任何优势吗? 注释类是否会影响性能?

使用注释的Hibernate Enum映射

我有一个现在的数据库,我现在使用hibernate连接到。 我目前无法更改其中的数据,并使所有内容与单列无关。 我有一个状态列,其值为: 新 邮寄 在 出 该列映射如下: @Column(name = “STATUS”, nullable = false, length = 50) @Enumerated(EnumType.STRING) private TeamMemberStatus status; 我真的希望(出于应用程序的原因)将此列映射为Java Enum(TeamMemberStatus), 但由于’new’是Java中的关键字,我不能将其作为枚举成员。 如果我有enum contstants NEW,MAILED,IN和OUT hibernate失败,因为在EnumType内部它会执行一个Enum.valueOf()。 有没有办法让我把它映射到我的Enum而不必编写复杂的UserType? – 添加内容 我的Enum是这样的: public enum TeamMemberStatus { NEW, MAILED, IN, OUT } 是一个有效的Java枚举,但不匹配数据库的情况。 如果我更改它以匹配数据库,如: public enum TeamMemberStatus { new, mailed, in, out } 它不会编译,因为’new’是Java保留字。

Spring:在属性文件中定义@RequestMapping值

是否可以通过在属性文件中定义@RequestMapping注释的值来定义它? 实际上,我做了类似的事情: @Controller @RequestMapping(“/xxx”) public class MyController { … } 但我想将path /xxx存储在属性文件中。 为什么? 例如,如果我重命名控制器中的路径,则不太可能在模板中执行myst​​akes。 在其他框架中,这是允许的(例如,参见Symfony)。

在Java 7中使用访问修饰符之后放置注释是否合法? 还是Java 8?

这是通常的代码: @Autowire private Service service; 但是使用Java 7,这也可以(并且更短): private @Autowire Service service; 这在Java 8中是否合法(具有相同的语义)? 这是不好的编码练习吗?

unit testing的良好模式形成了在Spring MVC中具有基于注释的validation的bean

对表单bean使用基于注释的validation时,为了确保为每个字段指定正确的validation注释,对这些bean进行unit testing的最佳做法是什么? 例如,如果您有: public class MyForm { @NotNull private String name; } validation@NotNull是否适用于它的最佳方法是什么? 一个显而易见的方法是创建一个validation器,在它上面抛出一个null并期望它失败。 但在我看来,这不是最好的方法,因为你将使用它来测试@NotNull的行为和实现,而不是信任框架。 理想情况下,我希望使用reflection或实用程序,使我可以断言@NotNull (和任何其他)validation应用于给定字段,而不必发送未通过validation的各种值组合。 是否有一种优雅的方式来做到这一点,或者我是否在正确的轨道上?

使用@Controller获取所有带注释的控制器

有没有办法获得所有控制器的列表,这些控制器是用@Controller注释的? 我想用它们像: @Autowired public void addAll(List controllers) throws Exception { for (Controller controller : controllers) { … } } 谢谢!

为什么即使在Java 8上,Spring Data存储库方法参数名称也不可用?

我很难通过他们的示例将测试传递给Pivotal的spring-boot 1.4版本的示例项目,该示例在其JPQL中使用未注释的命名参数显示spring-data-jpa 例如 来自example.springdata.jpa.simple.SimpleUserRepository @Query(“select u from User u where u.firstname = :firstname”) List findByFirstname(String firstname); 注意它没有使用@Param注释 这不能在我的机器上运行。 我在这里详细介绍了这个例外,从标题中可以看出这一点。 参数绑定的名称不能为null或为空! 对于命名参数,您需要在Java版本上使用@Param作为查询方法参数 所以我必须这样做: @Query(“select u from User u where u.firstname = ?1”) List findByFirstname(String firstname); 或这个: @Query(“select u from User u where u.firstname = :firstname”) List findByFirstname(@Param(“firstname”) String firstname); 我正在使用的是: 操作系统 – Win7 Java – 1.8.0_112 […]

如何在我的操作中从JSP获取更新的列表值?

我有一个JSP,我在其中迭代列表并创建一个可编辑的表。 我的列表: List test = new ArrayList(); 国家级: public class Country { private String countryCode; private String countryName; and the getter setters…… 并说我填写列表如下: Country country = new Country(); Country country1 = new Country(); country.setCountryCode(“1”); country.setCountryName(“India”); country1.setCountryCode(“2”); country1.setCountryName(“US”); test.add(country); test.add(country1); 现在,当我在JSP中更改countrycode和countryname的值时,我应该在我的操作中获取更新的值。 但我无法做到。 有没有办法获得这些更新的值。