Tag: spring annotations

测试Spring @MVC注释

前几天我遇到了一个问题,其中一个@Valid注释被意外地从控制器类中删除了。 不幸的是,它没有打破我们的任何测试。 我们的unit testing都没有实际运行Spring AnnotationMethodHandlerAdapter路径。 我们直接测试我们的控制器类。 如果我的@MVC注释错误,我该如何编写一个正确失败的单元或集成测试? 有没有办法我可以让Spring用MockHttpServlet找到并运用相关的控制器?

如果找不到,@ PathVariable可以返回null吗?

如果路径变量不在url中,是否可以使@PathVariable返回null? 否则我需要做两个处理程序。 一个用于/simple ,另一个用于/simple/{game} ,但两者都做同样的事情,如果没有定义游戏我从列表中选择第一个然而如果有游戏参数定义然后我使用它。 @RequestMapping(value = {“/simple”, “/simple/{game}”}, method = RequestMethod.GET) public ModelAndView gameHandler(@PathVariable(“example”) String example, HttpServletRequest request) { 这是我在尝试打开页面/simple : 引起:java.lang.IllegalStateException:在@RequestMapping中找不到@PathVariable [example]

无法解析org.springframework.transaction.annotation.Transactional的依赖项

我是基于注释的编程的新手,不知道要添加到org.springframework.transaction.annotation.Transactional的 pom.xml中的maven工件,我用谷歌搜索(如搜索结果的前5页)但无法找到什么是我在寻找。 我正在使用弹簧3.此外,如果有任何在线教程,以了解更多关于spring的注释。 谢谢!!

如何仅在Spring中通过注释配置组件扫描?

我正在tomcat webserver环境中运行war文件。 我有一个基于注释的@Beans配置,以及一个用于webservices的xml配置: @Configuration //@ComponentScan(basePackageClasses = …) public class AppConfig { //beans @Bean } applicationContext.xml中: 问题:我想通过注释定义@ComponentScan只是为了具有类型安全性。 但如果我这样做,则不会执行扫描。 相比之下,当我使用<context:component-scan..一切正常。 是否在Web服务器中进行Spring组件扫描与xml配置相关联以进行包扫描?

将基于Spring的Spring转换为基于Java的配置

我尽量不使用任何xml。 像这样:转换为@Bean @Bean public RestTemplate restTemplate() { RestTemplate restTemplate = new RestTemplate(); List<HttpMessageConverter> converters = new ArrayList<HttpMessageConverter>(); converters.add(marshallingMessageConverter()); restTemplate.setMessageConverters(converters); return restTemplate; } 问题在这里。 com.cloudlb.domain.User 尝试将“com.cloudlb.domain.User”转换为Class []而不是工作。 @Bean public MarshallingHttpMessageConverter marshallingMessageConverter() { Jaxb2Marshaller marshaller = new Jaxb2Marshaller(); // List<Class> listClass = new ArrayList<Class>(); listClass.add(User.class); marshaller.setClassesToBeBound((Class[])listClass.toArray()); // ——————————– return new MarshallingHttpMessageConverter(marshaller, marshaller); } 错误:投射问题。 先谢谢你。

Spring中有没有办法自动assembly给定类型的所有依赖项?

我正在为给定的类使用基于注释的连接(即@Configurable(autowire=Autowire.BY_TYPE) ),并且我想将给定类型的所有bean作为列表连接到它中: 应用环境: 自动加入的课程: @Configurable(autowire=Autowire.BY_TYPE) public class Target { … public void setConfigurers(List configurers) { … } } 所有依赖项都实现了一个名为Configurer的通用接口 有没有办法让这项工作将一个类型的所有依赖项连接在一个集合中并在必要时注入,或者我应该在XML中定义一个 ?

Spring Boot中的多个DataSource和JdbcTemplate(> 1.1.0)

我想在Spring Boot项目中注入一个特定的JdbcTemplate 。 我尝试按照此示例进行多个DataSource配置: http : //spring.io/blog/2014/05/27/spring-boot-1-1-0-m2-available-now 我的代码编译并运行,但只考虑带有@Primary注释的DataSource,无论我在SqlService类中放置什么@Qualifier 。 我的相关代码如下: DatabaseConfig.java : @Configuration public class DatabaseConfig { @Bean(name = “dsSlave”) @ConfigurationProperties(prefix=”spring.mysql_slave”) public DataSource slaveDataSource() { return DataSourceBuilder.create().build(); } @Bean(name = “dsMaster”) @Primary @ConfigurationProperties(prefix=”spring.mysql_master”) public DataSource masterDataSource() { return DataSourceBuilder.create().build(); } @Bean(name = “jdbcSlave”) @Autowired @Qualifier(“dsSlave”) public JdbcTemplate slaveJdbcTemplate(DataSource dsSlave) { return new JdbcTemplate(dsSlave); } @Bean(name […]

FactoryBeans和Spring 3.0中基于注释的配置

Spring提供了FactoryBean接口,允许对bean进行非平凡的初始化。 该框架提供了许多工厂bean的实现,并且 – 当使用Spring的XML配置时 – 工厂bean很容易使用。 但是,在Spring 3.0中,我找不到一种令人满意的方法来使用带有基于注释的配置的工厂bean(néeJavaConfig)。 显然,我可以手动实例化工厂bean并自己设置任何所需的属性,如下所示: @Configuration public class AppConfig { … @Bean public SqlSessionFactory sqlSessionFactory() throws Exception { SqlSessionFactoryBean factory = new SqlSessionFactoryBean(); factory.setDataSource(dataSource()); factory.setAnotherProperty(anotherProperty()); return factory.getObject(); } 但是,如果FactoryBean实现了任何特定于Spring的回调接口,例如InitializingBean , ApplicationContextAware , BeanClassLoaderAware或@PostConstruct ,则会失败。 我还需要检查FactoryBean,找出它实现的回调接口,然后通过调用setApplicationContext , afterPropertiesSet()等自己实现这个function。 这对我来说感觉很尴尬和反过来:应用程序开发人员不应该实现IOC容器的回调。 有没有人知道使用Spring Annotation配置的FactoryBeans更好的解决方案?

请求参数的自定义Spring注释

我想编写自定义注释,根据注释修改Spring请求或路径参数。 例如,代替此代码: @RequestMapping(method = RequestMethod.GET) public String test(@RequestParam(“title”) String text) { text = text.toUpperCase(); System.out.println(text); return “form”; } 我可以制作注释@UpperCase: @RequestMapping(method = RequestMethod.GET) public String test(@RequestParam(“title”) @UpperCase String text) { System.out.println(text); return “form”; } 它是否可能,如果是,我怎么能这样做?

spring 3.1 @Cacheable示例

我是Spring注释的新手,我想创建一个示例示例,该示例显示了在Spring 3.1中使用@Cacheable注释是否有任何人有指导来创建它?