刚刚开始看 Spring in Action 书
看到书中的1.3节时就遇到问题
[
1、配置开发环境:我用的是Eclipse+MyEclipse
2、File->New Project->New Spring Project, 我新建的工程名称为helloWorld
3、再点击工程名右键 点击 Add Spring Capabilities 再选择 两个 MyEclipse - Library 分别是:
Spring 2.0 Core Libraries 和 Spring 2.0 AOP Libraries
]
=======================================================
=======================================================
首先我按照书上打了GreetingService接口、GreetingSerivceImpl 类 、HelloTest 类 、
package com;
/*这个类是一个服务类 , 但是定义为一个接口 ,当中有一个方法
* sayGreetingService() .
* */
public interface GreetingService {
public void sayGreetingService();
}
=======================================================
package com;
package com;
/*这个类是一个服务类 , 但是定义为一个接口 ,当中有一个方法
* sayGreetingService() .
* */
public interface GreetingService {
public void sayGreetingService();
}
=======================================================
package com;
//在 XML 文件中引用这个实现接口的类 ,并给其属性 greeting 赋值
public class GreetingServiceImpl implements GreetingService {
public class GreetingServiceImpl implements GreetingService {
private String greeting;
public GreetingServiceImpl() {
}
public GreetingServiceImpl(String greeting){
this.greeting=greeting;
}
public GreetingServiceImpl(String greeting){
this.greeting=greeting;
}
public String getGreeting() {
return greeting;
}
return greeting;
}
public void setGreeting(String greeting) {
this.greeting = greeting;
}
this.greeting = greeting;
}
// 实现了接口定义的方法
public void sayGreetingService() {
System.out.println("打印出一句话: " + greeting);
}
public void sayGreetingService() {
System.out.println("打印出一句话: " + greeting);
}
}
=======================================================
=======================================================
[——问题就在这个类中——]
-----------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------
书上原文》》》》》
package.com
import java.io.FileInputStream;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
public class HelloTest{
public static void main(String[] args)throws Exception{
BeanFactory factory = new XmlBeanFactory(new FileInputStream("hello.xml")); // 这里读不到 “hello.xml”
GreetingService greetingService=(GreetingService)factory.getBean("greetingService");
greetingService.sayGreetingService();
BeanFactory factory = new XmlBeanFactory(new FileInputStream("hello.xml")); // 这里读不到 “hello.xml”
GreetingService greetingService=(GreetingService)factory.getBean("greetingService");
greetingService.sayGreetingService();
}
}
-----------------------------------------------------------------------------------------
更改后的:
package com;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
/*这个类用来载入 spring 容器并且利用它得到问候服务 */
public class HelloTest {
public static void main(String[]args){
Resource re=new ClassPathResource("hello.xml");
BeanFactory factory = new XmlBeanFactory(re);
GreetingService greetingService=(GreetingService)factory.getBean("greetingService");
greetingService.sayGreetingService();
}
public class HelloTest {
public static void main(String[]args){
Resource re=new ClassPathResource("hello.xml");
BeanFactory factory = new XmlBeanFactory(re);
GreetingService greetingService=(GreetingService)factory.getBean("greetingService");
greetingService.sayGreetingService();
}
}
=======================================================
配置文件 Hello.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-2.0.xsd">
<?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-2.0.xsd">
<bean id="greetingService" class="com.GreetingServiceImpl">
<property name="greeting">
<value>我给属性增加了value值,就是这个!</value>
</property>
</bean>
</beans>
<property name="greeting">
<value>我给属性增加了value值,就是这个!</value>
</property>
</bean>
</beans>
=======================================================
=======================================================
请哪位高手跟我解释一下 Spring in Action 书中那样写会出错 , 如果用 FileInputStream ,又该怎么写呢??