[转]spring原理案例-基本项目搭建 创建工程运行测试spring ioc原理实例示例

下面开始项目的搭建

使用 Java EE - Eclipse 新建一 Dynamic Web Project

7d8decd6-cbab-4618-8fd6-148550868db6

b1e45657-a918-49f9-8591-ef4c55fec14e

Target Runtime 选 Apache Tomcat 7.0(不要选 Apache Tomcat 6.0,7 以后才支持 Servlet 3.0)。

点击 Next > 按钮。

默认的 Source folders 配置如下:

ps:可以根据需求自己编辑比如    

删除默认的,增加以下四个并修改默认的输出目录为 WebContent\WEB-INF\classes:

    src/main/java

    src/main/resources

    src/test/java

    src/test/resources

c3c3c5ac-223b-40a6-850c-07947d50fe5c

点击Next

Configure web module settings 对话框勾选 Generate web.xml deployment descriptor 选项:

7890f292-047e-451e-8970-fb3e7eedf28d

然后点击finish完成

079e6ac5-9993-4fbc-9fde-ee4f7aef6b6f

这几个包或许是需要最少的包

-------------------------------------------------------

3.下面开始部署

把所需要的jar包ctrl c    ctrl v粘贴到lib目录

然后  添加进来

0d26f02e-d14a-4062-a154-da391b62bff4

添加完的效果

0aabf9f2-557e-4de0-bf7b-34bbb4023c55

然后新建两个类

    一个实体类-----------------HelloWorldSpringBean

    一个测试类(包含main函数)----------HelloWorldSpring

新建配置文件 -----------helloWorldSpring.xml

ead0ecdc-c4b4-4c9e-b9fc-4cf4569f04d3

具体如下:

HelloWorldSpringBean

package chapter2.HelloWorldSpring;

public class HelloWorldSpringBean {

private String hello;

public String getHello(){

return hello;

    }

public void setHello(String hello){

this.hello=hello;

    }

public void show(){

        System.out.println("--message--"+getHello());

    }

}

一个属性,

以及对应的get   set方法

还有执行方法

HelloWorldSpring

package chapter2.HelloWorldSpring;

import org.springframework.context.ApplicationContext;

import org.springframework.context.support.FileSystemXmlApplicationContext;

public class HelloWorldSpring {

public static void main(String[] args) {

// TODO Auto-generated method stub

        ApplicationContext ctx = new FileSystemXmlApplicationContext("src/helloWorldSpring.xml");

        HelloWorldSpringBean helloWorldSpringBean = (HelloWorldSpringBean)ctx.getBean("myHelloWorld");

        helloWorldSpringBean.show();

    }

}

helloWorldSpring.xml

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

<beans>

<bean id="myHelloWorld" class="chapter2.HelloWorldSpring">

<property name="hello">

<value>hello World spring!</value>

</property>

</bean>

</beans>

HelloWorldSpring直接run as application 执行,报错

Exception in thread "main" org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 2 in XML document from file [D:\ProgramData\Workspaces\eclipse\chapter2\src\helloWorldSpring.xml] is invalid; nested exception is org.xml.sax.SAXParseException; lineNumber: 2; columnNumber: 6; 不允许有匹配 "[xX][mM][lL]" 的处理指令目标。

配置文件开头不能有其他内容空格或者空行等,如果有的话就会报错

XML没有以<?xml version="1.0" encoding="UTF-8"?> 开头,也就是说第一个字符必须是<?xml......

解决方法:

规范的XML格式、

<?xml version="1.0" encoding="UTF-8"?>  必须是XML文件的第一个元素且前面不能空格。

修改后继续报错,错误内容为

复制代码

十一月 10, 2015 5:50:10 下午 org.springframework.context.support.FileSystemXmlApplicationContext refresh

警告: Exception encountered during context initialization - cancelling refresh attempt

org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [chapter2.HelloWorldSpring] for bean with name 'myHelloWorld' defined in file [D:\ProgramData\Workspaces\eclipse\chapter2\src\helloWorldSpring.xml]; nested exception is java.lang.ClassNotFoundException: chapter2.HelloWorldSpring

    at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1351)

    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.determineTargetType(AbstractAutowireCapableBeanFactory.java:628)

    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.predictBeanType(AbstractAutowireCapableBeanFactory.java:597)

    at org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:1444)

    at org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:974)

    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:752)

    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:835)

    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:537)

    at org.springframework.context.support.FileSystemXmlApplicationContext.<init>(FileSystemXmlApplicationContext.java:140)

    at org.springframework.context.support.FileSystemXmlApplicationContext.<init>(FileSystemXmlApplicationContext.java:84)

    at chapter2.HelloWorldSpring.HelloWorldSpring.main(HelloWorldSpring.java:12)

Caused by: java.lang.ClassNotFoundException: chapter2.HelloWorldSpring

复制代码

类找不到,发现是配置文件中的class中写错了,没有写好类名

class="chapter2.HelloWorldSpring.HelloWorldSpringBean">修改为这个重新运行,可以打开

2c77a4c7-7071-41db-b38f-a7eb908b1bb1

最终的代码为:

十一月 10, 2015 5:50:10 下午 org.springframework.context.support.FileSystemXmlApplicationContext refresh

警告: Exception encountered during context initialization - cancelling refresh attempt

org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [chapter2.HelloWorldSpring] for bean with name 'myHelloWorld' defined in file [D:\ProgramData\Workspaces\eclipse\chapter2\src\helloWorldSpring.xml]; nested exception is java.lang.ClassNotFoundException: chapter2.HelloWorldSpring

    at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1351)

    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.determineTargetType(AbstractAutowireCapableBeanFactory.java:628)

    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.predictBeanType(AbstractAutowireCapableBeanFactory.java:597)

    at org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:1444)

    at org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:974)

    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:752)

    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:835)

    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:537)

    at org.springframework.context.support.FileSystemXmlApplicationContext.<init>(FileSystemXmlApplicationContext.java:140)

    at org.springframework.context.support.FileSystemXmlApplicationContext.<init>(FileSystemXmlApplicationContext.java:84)

    at chapter2.HelloWorldSpring.HelloWorldSpring.main(HelloWorldSpring.java:12)

Caused by: java.lang.ClassNotFoundException: chapter2.HelloWorldSpring

猜你喜欢

转载自blog.csdn.net/czcnuonuo/article/details/81565980
今日推荐