Java源码示例:com.alibaba.spring.util.BeanUtils
示例1
private void initNacosServiceBeanBuilderMap(
ConfigurableListableBeanFactory beanFactory) {
Class<AbstractNacosServiceBeanBuilder> builderClass = AbstractNacosServiceBeanBuilder.class;
String[] beanNames = BeanUtils.getBeanNames(beanFactory, builderClass);
if (beanNames.length == 0) {
throw new NoSuchBeanDefinitionException(builderClass,
format("Please check the BeanDefinition of %s in Spring BeanFactory",
builderClass));
}
Collection<AbstractNacosServiceBeanBuilder> serviceBeanBuilders = new ArrayList<AbstractNacosServiceBeanBuilder>(
beanNames.length);
for (String beanName : beanNames) {
serviceBeanBuilders.add(beanFactory.getBean(beanName, builderClass));
}
if (serviceBeanBuilders.isEmpty()) {
throw new NoSuchBeanDefinitionException(builderClass,
format("Please check the BeanDefinition of %s in Spring BeanFactory",
builderClass));
}
Map<Class<?>, AbstractNacosServiceBeanBuilder> builderMap = new HashMap<Class<?>, AbstractNacosServiceBeanBuilder>(
serviceBeanBuilders.size());
for (AbstractNacosServiceBeanBuilder serviceBeanBuilder : serviceBeanBuilders) {
Class<?> type = serviceBeanBuilder.getType();
builderMap.put(type, serviceBeanBuilder);
}
// Should not be modified in future
this.nacosServiceBeanBuilderMap = unmodifiableMap(builderMap);
}
示例2
@Before
public void init() {
aUser = context.getBean("a", User.class);
bUser = context.getBean("b", User.class);
users = BeanUtils.getSortedBeans(context, User.class);
configurationBeanBindingPostProcessor = context.getBean("configurationBeanBindingPostProcessor", ConfigurationBeanBindingPostProcessor.class);
}
示例3
@Test
public void testExclusiveViewResolverConfigurationDisabled() {
Assert.assertFalse(BeanUtils.isBeanPresent(applicationContext, ExclusiveViewResolverConfiguration.class));
Assert.assertFalse(BeanUtils.isBeanPresent(applicationContext, ExclusiveViewResolverApplicationListener.class));
ContentNegotiatingViewResolver contentNegotiatingViewResolver =
applicationContext.getBean(ContentNegotiatingViewResolver.class);
Assert.assertNotNull(contentNegotiatingViewResolver);
List<ViewResolver> viewResolvers = contentNegotiatingViewResolver.getViewResolvers();
Assert.assertTrue(viewResolvers.size() > 1);
ThymeleafViewResolver thymeleafViewResolver =
applicationContext.getBean("thymeleafViewResolver", ThymeleafViewResolver.class);
Assert.assertTrue(viewResolvers.contains(thymeleafViewResolver));
}
示例4
@Test
public void testExclusiveViewResolverConfiguration() {
Assert.assertTrue(BeanUtils.isBeanPresent(applicationContext, ExclusiveViewResolverConfiguration.class));
Assert.assertTrue(BeanUtils.isBeanPresent(applicationContext, ExclusiveViewResolverApplicationListener.class));
ContentNegotiatingViewResolver contentNegotiatingViewResolver =
applicationContext.getBean(ContentNegotiatingViewResolver.class);
Assert.assertNotNull(contentNegotiatingViewResolver);
List<ViewResolver> viewResolvers = contentNegotiatingViewResolver.getViewResolvers();
Assert.assertEquals(1, viewResolvers.size());
ThymeleafViewResolver thymeleafViewResolver =
applicationContext.getBean("thymeleafViewResolver", ThymeleafViewResolver.class);
Assert.assertEquals(thymeleafViewResolver, viewResolvers.get(0));
}
示例5
/**
* {@link RequestMappingHandlerMapping} from {@link WebApplicationContext}
*
* @param webApplicationContext {@link WebApplicationContext}
* @return {@link RequestMappingHandlerMapping}
*/
public static RequestMappingHandlerMapping getRequestMappingHandlerMapping(WebApplicationContext webApplicationContext) {
RequestMappingHandlerMapping requestMappingHandlerMapping =
BeanUtils.getOptionalBean(webApplicationContext, RequestMappingHandlerMapping.class);
return requestMappingHandlerMapping;
}
示例6
@Test
public void testContentNegotiationManagerConfigurationOnDisabled() {
Assert.assertFalse(BeanUtils.isBeanPresent(applicationContext, ContentNegotiationManagerConfiguration.class));
ContentNegotiationManager contentNegotiationManager =
contentNegotiatingViewResolver.getContentNegotiationManager();
List<ContentNegotiationStrategy> strategies = contentNegotiationManager.getStrategies();
Assert.assertEquals(1, strategies.size());
Assert.assertTrue(contains(HeaderContentNegotiationStrategy.class, strategies));
}
示例7
/**
* Is {@link BeanDefinition} present in {@link BeanDefinitionRegistry}
*
* @param registry {@link BeanDefinitionRegistry}
* @param beanName the name of bean
* @param targetBeanClass the type of bean
* @return If Present , return <code>true</code>
*/
public static boolean isBeanDefinitionPresent(BeanDefinitionRegistry registry,
String beanName, Class<?> targetBeanClass) {
String[] beanNames = BeanUtils.getBeanNames((ListableBeanFactory) registry,
targetBeanClass);
return ArrayUtils.contains(beanNames, beanName);
}
示例8
@Test
public void testNoopOrderedHiddenHttpMethodFilter() throws ServletException, IOException {
Assert.assertFalse(BeanUtils.isBeanPresent(applicationContext, NoopOrderedHiddenHttpMethodFilter.class));
}
示例9
@Test
public void testNoopOrderedHttpPutFormContentFilter() throws ServletException, IOException {
Assert.assertFalse(BeanUtils.isBeanPresent(applicationContext, NoopOrderedHttpPutFormContentFilter.class));
}