0
弹簧应用程序我尝试setter注入它运作良好。当我写构造函数注入它失败。弹簧构造函数注入抛出错误
public class Sample {
JdbcTemplate jdbcTemplate;
public Sample(){
}
public Sample(JdbcTemplate jdbcTemplate){
System.out.println("invoked");
this.jdbcTemplate=jdbcTemplate;
}
}
上下文文件
<bean id="derbyDataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="${db.driver}" />
<property name="url"
value="jdbc:derby:#{systemProperties['user.appdata']}/${db.name};create=true" />
<property name="username" value="${db.user}" />
<property name="password" value="${db.password}" />
</bean>
<!-- JDBC Template Bean -->
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="derbyDataSource" />
</bean>
<bean id="sample" class="com.exbury.Sample">
<constructor-arg ref="jdbcTemplate"></constructor-arg>
</bean>
负载情况下
ApplicationContext context = new ClassPathXmlApplicationContext("derbyDatabaseConfiguration.xml");
错误
Exception in thread "main" java.lang.IncompatibleClassChangeError: class org.springframework.core.LocalVariableTableParameterNameDiscoverer$ParameterNameDiscoveringVisitor has interface org.springframework.asm.ClassVisitor as super class
这就是为什么我不喜欢春天 – NimChimpsky
你可以尝试重新编译项目吗? –
尝试了几次。但不起作用。 – Burusothman