摘要
在配置spring aop的时候总是出现下面的错误,找了很多种办法,这篇文字给了自己点灵感,通过这种方式解决了。
解决办法
required by -source 1.8) is only fully supported as of Spring Framework 4.0. In particular,Spring 3.2 based applications need to be compiled with a maximum of Java 7 as the target,even if they happen to be deployed onto a Java 8 runtime. Please upgrade to Spring 4 for Java 8 based applications.@H_301_11@
大概的意思就是java1.8版本只支持spring4.0以上。所以解决方法有2中①把sping版本换成4.0以上②把jdk调低点。
error信息
at org.springframework.test.context.TestContext.getApplicationContext(TestContext.java:@H_<a href="/tag/301/" target="_blank" class="keywords">301</a>_11@157<span style="color: #000000;">)
at org.springframework.test.context.support.DependencyInjectionTestExecutionListener<br>.injectDependencies(DependencyInjectionTestExecutionListener.java:@H_<a href="/tag/301/" target="_blank" class="keywords">301</a>_11@109<span style="color: #000000;">)
at org.springframework.test.context.support.DependencyInjectionTestExecutionListener<br>.prepareTestInstance(DependencyInjectionTestExecutionListener.java:@H_<a href="/tag/301/" target="_blank" class="keywords">301</a>_11@75<span style="color: #000000;">)
at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:@H_<a href="/tag/301/" target="_blank" class="keywords">301</a>_11@313<span style="color: #000000;">)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:@H_<a href="/tag/301/" target="_blank" class="keywords">301</a>_11@211<span style="color: #000000;">)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$@H_<a href="/tag/301/" target="_blank" class="keywords">301</a>_11@1.runReflectiveCall(SpringJUnit4ClassRunner.java:288<span style="color: #000000;">)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:@H_<a href="/tag/301/" target="_blank" class="keywords">301</a>_11@12<span style="color: #000000;">)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:@H_<a href="/tag/301/" target="_blank" class="keywords">301</a>_11@284<span style="color: #000000;">)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:@H_<a href="/tag/301/" target="_blank" class="keywords">301</a>_11@231<span style="color: #000000;">)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:@H_<a href="/tag/301/" target="_blank" class="keywords">301</a>_11@88<span style="color: #000000;">)
at org.junit.runners.ParentRunner$@H_<a href="/tag/301/" target="_blank" class="keywords">301</a>_11@3.run(ParentRunner.java:290<span style="color: #000000;">)
at org.junit.runners.ParentRunner$@H_<a href="/tag/301/" target="_blank" class="keywords">301</a>_11@1.schedule(ParentRunner.java:71<span style="color: #000000;">)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:@H_<a href="/tag/301/" target="_blank" class="keywords">301</a>_11@288<span style="color: #000000;">)
at org.junit.runners.ParentRunner.access$@H_<a href="/tag/301/" target="_blank" class="keywords">301</a>_11@000(ParentRunner.java:58<span style="color: #000000;">)
at org.junit.runners.ParentRunner$@H_<a href="/tag/301/" target="_blank" class="keywords">301</a>_11@2.evaluate(ParentRunner.java:268<span style="color: #000000;">)
at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:@H_<a href="/tag/301/" target="_blank" class="keywords">301</a>_11@61<span style="color: #000000;">)
at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:@H_<a href="/tag/301/" target="_blank" class="keywords">301</a>_11@71<span style="color: #000000;">)
at org.junit.runners.ParentRunner.run(ParentRunner.java:@H_<a href="/tag/301/" target="_blank" class="keywords">301</a>_11@363<span style="color: #000000;">)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:@H_<a href="/tag/301/" target="_blank" class="keywords">301</a>_11@174<span style="color: #000000;">)
at org.junit.runner.JUnitCore.run(JUnitCore.java:@H_<a href="/tag/301/" target="_blank" class="keywords">301</a>_11@137<span style="color: #000000;">)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:@H_<a href="/tag/301/" target="_blank" class="keywords">301</a>_11@68<span style="color: #000000;">)
at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:@H_<a href="/tag/301/" target="_blank" class="keywords">301</a>_11@47<span style="color: #000000;">)
at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:@H_<a href="/tag/301/" target="_blank" class="keywords">301</a>_11@242<span style="color: #000000;">)
at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:@H_<a href="/tag/301/" target="_blank" class="keywords">301</a>_11@70<span style="color: #000000;">)
Caused by: java.lang.IllegalArgumentException
at org.springframework.asm.ClassReader.@H_30111@
at org.springframework.asm.ClassReader.@H
at org.springframework.asm.ClassReader.@H
at org.springframework.core.type.classreading.SimpleMetadataReader.@H_301_11@
at org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:@H_301_11@80<span style="color: #000000;">)
at org.springframework.core.type.classreading.CachingMetadataReaderFactory.getMetadataReader(CachingMetadataReaderFactory.java:@H_301_11@101<span style="color: #000000;">)
at org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:@H_30111@76<span style="color: #000000;">)
at org.springframework.context.annotation.ConfigurationClassUtils.checkConfigurationClassCandidate(ConfigurationClassUtils.java:@H30111@70<span style="color: #000000;">)
at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor
.java:@H30111@253<span style="color: #000000;">)
at org.springframework.context.annotation.ConfigurationClassPostProcessor
.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:@H301_11@223<span style="color: #000000;">)
at org.springframework.context.support.AbstractApplicationContext.invokebeanfactoryPostProcessors(AbstractApplicationContext.java:@H_30111@630<span style="color: #000000;">)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:@H30111@461<span style="color: #000000;">)
at org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:@H30111@106<span style="color: #000000;">)
at org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:@H30111@57<span style="color: #000000;">)
at org.springframework.test.context.support.AbstractDelegatingSmartContextLoader
.delegateLoading(AbstractDelegatingSmartContextLoader.java:@H30111@100<span style="color: #000000;">)
at org.springframework.test.context.support.AbstractDelegatingSmartContextLoader
.loadContext(AbstractDelegatingSmartContextLoader.java:@H30111@248<span style="color: #000000;">)
at org.springframework.test.context.TestContext.loadApplicationContext(TestContext.java:@H30111@124<span style="color: #000000;">)
at org.springframework.test.context.TestContext.getApplicationContext(TestContext.java:@H30111@148<span style="color: #000000;">)
... @H301_11@23 more
spring 整合junit
@H30111@<span style="color: #0000ff;">import@H30111@<span style="color: #000000;"> org.junit.runner.RunWith;
@H30111@<span style="color: #0000ff;">import@H30111@<span style="color: #000000;"> org.springframework.test.context.ContextConfiguration;
@H30111@<span style="color: #0000ff;">import@H301_11@<span style="color: #000000;"> org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@H_30111@<span style="color: #0000ff;">import@H301_11@<span style="color: #000000;"> javax.annotation.Resource;
@RunWith(SpringJUnit4ClassRunner.@H_30111@<span style="color: #0000ff;">class@H30111@<span style="color: #000000;">)
@ContextConfiguration(@H30111@"classpath:applicationContext.xml"<span style="color: #000000;">)
@H30111@<span style="color: #0000ff;">public@H30111@ <span style="color: #0000ff;">class@H30111@<span style="color: #000000;"> OrderDaoTest {
@Resource(name @H30111@= "orderDao"<span style="color: #000000;">)
@H30111@<span style="color: #0000ff;">private@H301_11@<span style="color: #000000;"> OrderDao orderDao;
@Test
@H_<a href="/tag/301/" target="_blank" class="keywords">301</a>_11@<span style="color: #0000ff;">public@H_<a href="/tag/301/" target="_blank" class="keywords">301</a>_11@ <span style="color: #0000ff;">void@H_<a href="/tag/301/" target="_blank" class="keywords">301</a>_11@<span style="color: #000000;"> run() {
@H_30111@<span style="color: #008000;">//@H30111@<span style="color: #008000;"> ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
@H30111@<span style="color: #008000;">//@H30111@<span style="color: #008000;"> orderDao = (OrderDao) context.getBean("orderDao");@H30111@
<span style="color: #0000ff;">this@H30111@<span style="color: #000000;">.orderDao.save();
@H30111@<span style="color: #0000ff;">this@H30111@<span style="color: #000000;">.orderDao.find();
}
}@H301_11@
applicationContext.xml
<span style="color: #0000ff;"></@H_30111@<span style="color: #800000;">beans@H30111@<span style="color: #0000ff;">>@H301_11@
我使用的是IDE是Idea,可以通过下面的方式进行修改
File->Project Structure->Project
修改为
到此解决