java测试spring_java – 如何测试spring配置类?

我有一个spring应用程序配置类,其中实例bean.

应用类:

@Configuration

@EnableAspectJAutoProxy

@EnableSpringDataWebSupport

@EnableTransactionManagement

@ComponentScan(basePackageClasses = Application.class)

@PropertySource(value = {"classpath:foo.properties"})

@EnableJpaRepositories(basePackageClasses = Application.class)

@EnableJpaAuditing

public class Application {

@Inject

private Environment env;

@Bean

JndiTemplate jndiTemplate() {

return new JndiTemplate();

}

@Bean

public DataSource dataSource() {

DataSource dataSource = getDataSource();

if (dataSource == null) {

dataSource = new BasicDataSource();

((BasicDataSource) dataSource).setUsername(env.getProperty("jdbc.user"));

((BasicDataSource) dataSource).setPassword(env.getProperty("jdbc.password""));

((BasicDataSource) dataSource).setDriverClassName(env.getProperty("jdbc.driverClassName"));

((BasicDataSource) dataSource).setUrl(env.getProperty("jdbc.url"));

}

return dataSource;

}

@Bean

public PlatformTransactionManager transactionManager() {

EntityManagerFactory factory = entityManagerFactory().getObject();

return new JpaTransactionManager(factory);

}

//....

}

MvcConfiguration类:

@Configuration

@ComponentScan(basePackageClasses = Application.class,includeFilters = @Filter({Controller.class,Component.class}),useDefaultFilters = true)

class MvcConfiguration extends WebMvcConfigurationSupport {

private static final String MESSAGES = "classpath:/i18n";

private static final String VIEW_PREFIX = "/WEB-INF/views/";

@Inject

private Environment env;

@Override

public RequestMappingHandlerMapping requestMappingHandlerMapping() {

RequestMappingHandlerMapping requestMappingHandlerMapping = super.requestMappingHandlerMapping();

requestMappingHandlerMapping.setUseSuffixPatternMatch(false);

requestMappingHandlerMapping.setUseTrailingSlashMatch(true);

return requestMappingHandlerMapping;

}

@Bean(name = "messageSource")

public MessageSource messageSource() {

ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();

messageSource.setBasename(MESSAGES);

messageSource.setCacheSeconds(5);

return messageSource;

}

@Override

public void addResourceHandlers(ResourceHandlerRegistry registry) {

registry.addResourceHandler("/static/").addResourceLocations("/static/**");

}

@Bean

public MultipartResolver filterMultipartResolver(){

CommonsMultipartResolver resolver = new CommonsMultipartResolver();

resolver.setMaxUploadSize(Long.parseLong(env.getProperty("multipart.max.size")));

return resolver;

}

//....

}

和SecurityConfiguration类:

@Configuration

@EnableWebSecurity

@EnableGlobalMethodSecurity(prePostEnabled = true)

class SecurityConfiguration extends WebSecurityConfigurerAdapter {

@Bean

public PasswordEncoder passwordEncoder() {

return new BCryptPasswordEncoder();

}

//....

@Override

protected void configure(HttpSecurity http) throws Exception {

//logout por POST con el valor de token csrf

http.authorizeRequests()

.antMatchers("/static/**").permitAll()

.anyRequest().authenticated()

.and()

.formLogin()

.loginPage("/login")

.permitAll()

.failureUrl("/login?error=1")

.loginProcessingUrl("/authenticate")

.and()

.logout()

.logoutUrl("/logout")

.logoutSuccessUrl("/signin")

.permitAll();

}

}

我如何用JUnit测试它们?如何测试bean是在spring上下文中创建的?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值