今天在读源码的时候写了一个测试用例:
@Test
public void testClassPathBeanDefinitionReader() {
// 创建一个beanDefinitionRegistry
BeanDefinitionRegistry registry = new SimpleBeanDefinitionRegistry();
// 创建一个beanDefinitionReader
ClassPathBeanDefinitionScanner scanner = new ClassPathBeanDefinitionScanner(registry);
// 扫描com.liunian.bean这个包下的bean
scanner.scan("com.liunian.springsourcecode.bean");
System.out.println(registry.getBeanDefinitionCount());
}
启动的时候虽然可以正确读到com.liunian.springsourcecode.bean包下面要注册到容器中的bean,但是报了个错:
翻译过来的意思是“Java热点(TM)64位服务器VM警告:共享只支持引导加载程序类,因为已经附加了Bootstrap类路径”。查了一下,这并不算是一个错误,而且并未影响我的执行结果。于是找了一下去掉这个报红的方案:
如果你的 build and run 的位置原本就有这个-ea,直接其在后面加个空格,再加上-Xshare:off。
配置完选择apply,ok即可生效。