用applicationcontext加载:
ApplicationContext factory=new ClassPathXmlApplicationContext("classpath:bean.xml");
ConnectionUtil connectionUtil=(ConnectionUtil) factory.getBean("connection");System.out.println(connectionUtil);
或者用beanfactory加载:
ClassPathXmlApplicationContext resource = new ClassPathXmlApplicationContext("bean.xml");
BeanFactory factory = resource;
ConnectionUtil connectionUtil = (ConnectionUtil)factory.getBean("connection");
报错如下:
Exception in thread "main" java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log(Lorg/slf4j/Marker;Ljava/lang/String;ILjava/lang/String;[Ljava/lang/Object;Ljava/lang/Throwable;)V
at org.apache.commons.logging.impl.SLF4JLocationAwareLog.info(SLF4JLocationAwareLog.java:159)
at org.springframework.context.support.AbstractApplicationContext.prepareRefresh(AbstractApplicationContext.java:510)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:449)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
at test.TestConnectionUtil.main(TestConnectionUtil.java:27)
原因:
删除jcl-over-slf4j.jar后获取正常: