Spring 弹簧塞特注射
我正在运行Spring Core程序,我遇到了这个错误。我配置构建路径并添加所有jar文件。 项目结构 WishMessageGenerator.javaSpring 弹簧塞特注射,spring,Spring,我正在运行Spring Core程序,我遇到了这个错误。我配置构建路径并添加所有jar文件。 项目结构 WishMessageGenerator.java package com.nt.beans; import java.util.Date; public class WishMessageGenerator { private Date date; public WishMessageGenerator() { System.out.println("Wi
package com.nt.beans;
import java.util.Date;
public class WishMessageGenerator {
private Date date;
public WishMessageGenerator() {
System.out.println("WishMessageGenerator:0-param constructor");
}
public void setDate(Date date) {
System.out.println("WishMessageGenerator:setDate(-)");
this.date = date;
}
public String generateMessage(String user) {
int hour = 0;
System.out.println("Injected date::"+date);
hour = date.getHours();
if(hour < 12)
return "Good Morning :::"+user;
else if(hour < 16)
return "Good AfterNoon :::"+user;
else if(hour < 20)
return "Good Evening :::"+user;
else
return "Good Night"+user;
}
}
我得到了这个输出:
错误:无法初始化主类com.nt.test.SetterInjection
原因:java.lang.NoClassDefFoundError:org/springframework/core/io/Resource
输出为:
我们必须将jar添加到类路径中,而不是模块路径中 使用构建路径将jar添加到类路径中
您缺少依赖项。我强烈建议使用Maven或Gradle来管理您的依赖关系,而不是扫描internet下载JAR。但是为什么呢?我认为模块应该使Java变得更好、更安全、更封装、更易于管理,如中所述
<?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
https://www.springframework.org/schema/beans/spring-beans.xsd">
<!-- Dependent Bean class cfg -->
<bean id="dt" class="java.util.Date" />
<!-- Target Bean class cfg -->
<bean id="wmg" class="com.nt.beans.WishMessageGenerator">
<property name="date" ref="dt"></property><!-- Setter injection -->
</bean>
</beans>
package com.nt.test;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.FileSystemResource;
import org.springframework.core.io.Resource;
import com.nt.beans.WishMessageGenerator;
public class SetterInjection {
public static void main(String[] args) {
Resource res = null;
BeanFactory factory = null;
Object obj = null;
WishMessageGenerator generator = null;
res = new FileSystemResource("src/com/nt/cfgs/applicationContext.xml");
factory = new XmlBeanFactory(res);
obj = factory.getBean("wmg");
generator = (WishMessageGenerator)obj;
System.out.println("result:::"+generator.generateMessage("KingRk"));
}
}