我刚开始学习Spring.I正在尝试构造函数注入但是出错了。
代码:
HelloWorld.java
package com.SpringIocTest.June5;
public class HelloWorld {
private String message ;
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public HelloWorld(String message) {
super();
this.message = message;
}
}
Start.java
package com.SpringIocTest.June5;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Start {
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext(
"Bean.xml");
HelloWorld hw = (HelloWorld) context.getBean("hello");
System.out.println("Message" + hw.getMessage());
}
}
Bean.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<bean id="hello" class="com.SpringIocTest.June5.HelloWorld">
<constructor-arg>
<value>Welcome to Spring IoC!!!</value>
</constructor-arg>
</bean>
</beans>
当我尝试运行此代码时出现以下错误
Exception in thread "main" java.lang.NoClassDefFoundError: org/springframework/core/env/DefaultEnvironment
at org.springframework.context.support.AbstractApplicationContext.createEnvironment(AbstractApplicationContext.java:418)
at org.springframework.context.support.AbstractApplicationContext.<init>(AbstractApplicationContext.java:227)
at org.springframework.context.support.AbstractRefreshableApplicationContext.<init>(AbstractRefreshableApplicationContext.java:90)
at org.springframework.context.support.AbstractRefreshableConfigApplicationContext.<init>(AbstractRefreshableConfigApplicationContext.java:59)
at org.springframework.context.support.AbstractXmlApplicationContext.<init>(AbstractXmlApplicationContext.java:61)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:136)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
at com.SpringIocTest.June5.Start.main(Start.java:15)
Caused by: java.lang.ClassNotFoundException: org.springframework.core.env.DefaultEnvironment
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 8 more
我指的是this教程。我已经添加了所有提到的罐子。请让我知道我想念的是什么?
答案 0 :(得分:1)
使用此
<constructor-arg type="java.lang.String" value="Zara"/>
使用String时需要类型定义。