Spring笔记(第二弹:搭建第一个Spring工程)
来源:互联网 发布:js点击屏幕 隐藏div 编辑:程序博客网 时间:2024/04/29 16:39
我们来搭建一个最简单的Spring工程,暂时不使用Maven。
准备好相应的环境:
我们需要如下内容:
- eclipse,这里我选用的是Eclipse Java EE IDE for Web Developers.Version: Mars Release (4.5.0)
- JDK,这里我选用的是JDK1.8
- Spring框架,这里我选用的是spring-framework-3.2.9.RELEASE。这个包可以到spring的官网上下载,也可以在我上传的资源里下载:http://download.csdn.net/detail/lianjiww/9707957。
新建工程
新建一个普通的Java Project
添加包
在工程的根目录下新建一个libs文件夹,从spring-framework-3.2.9.RELEASE的libs目录里把必要的包copy进来,必要的包有:
- spring-beans-3.2.9.RELEASE.jar
- spring-context-3.2.9.RELEASE.jar
- spring-core-3.2.9.RELEASE.jar
- spring-expression-3.2.9.RELEASE.jar
然后在”Java Build Path”里把以上4个包通过”Add JARs…”添加到工程里。
添加配置文件
在src目录下新建一个applicationContext.xml文件。现在工程的目录结构应该是这样:
这个配置文件里的头信息可以在我们下载的spring压缩包里找到。具体如下:
在spring-framework-3.2.9.RELEASE\docs\spring-framework-reference\html目录下打开index.html,找到”E.2 XML Schema-based configuration”,他这里提供了两种头文件的方式,一种是DTD-style,一种是Schema-style。我这里选用Schema-style,把内容copy到我们的applicationContext.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.xsd"><!-- bean definitions here --></beans>
至此,spring的框架就搭好了。
添加业务代码
在com.demo.dao包下新建一个interface,UserDAO.java,内容如下:
package com.demo.dao;public interface UserDAO { public void sayHello();}
在com.demo.dao.impl包下新建一个class,UserDAOImpl.java,实现UserDAO接口,内容如下:
package com.demo.dao.impl;import com.demo.dao.UserDAO;public class UserDAOImpl implements UserDAO { @Override public void sayHello() { System.out.println("hello world!"); }}
把业务类声明到spring容器中
在applicationContext.xml里添加:
<bean id="userDAO" class="com.demo.dao.impl.UserDAOImpl"></bean>
测试一下
在test包下新建一个Test.java进行测试,内容如下:
package test;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;import com.demo.dao.UserDAO;public class Test { public static void main(String[] args) { // 读取spring的容器 ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); // 从spring容器中获取对象 UserDAO userDao = context.getBean("userDAO", UserDAO.class); // 从得到的对象中调用需要的方法 userDao.sayHello(); }}
运行一下,我们会发现,报错了:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory at org.springframework.context.support.AbstractApplicationContext.<init>(AbstractApplicationContext.java:164) at org.springframework.context.support.AbstractApplicationContext.<init>(AbstractApplicationContext.java:228) at org.springframework.context.support.AbstractRefreshableApplicationContext.<init>(AbstractRefreshableApplicationContext.java:89) at org.springframework.context.support.AbstractRefreshableConfigApplicationContext.<init>(AbstractRefreshableConfigApplicationContext.java:58) 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 test.Test.main(Test.java:12)Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 8 more
看日志发现是因为缺少commons-logging-1.1.3.jar,我们把这个jar引入工程,然后再次运行main方法,发现可以打印出”hello world!”了。
这样,一个最简单的spring工程就搭好了,工程的目录结构如下:
- Spring笔记(第二弹:搭建第一个Spring工程)
- 搭建spring工程(笔记)
- spring入门之第一个spring工程
- Spring笔记——第一个SpringMVC 工程
- spring第一个项目搭建
- spring-boot笔记-工程搭建(一)
- SSM搭建-Spring第一个Spring HelloWorld(2)
- 第一个Spring和Spring环境搭建
- Spring学习笔记<一> 使用SpringMVC搭建第一个项目
- SSM搭建-Spring MVC搭建第一个HelloWorld(12)
- spring第一个程序笔记
- 01 创建第一个Spring工程
- spring boot 第一篇 构建第一个spring boot工程
- Spring flex 搭建服务 之 编程环境配置和我的第一个程序(第二章,第二节)
- 自己搭建struts2+spring工程笔记
- springboot学习笔记--搭建Spring Boot工程
- Spring 3.0学习笔记1(第一个SpringMVC项目)
- Spring Boot / Spring MVC 入门实践 (一) :环境搭建与第一个项目
- ExtJS 6.2 GPL 及离线文档下载地址
- Struts2中的验证
- ID 在很多数中间出现次数为奇数的数
- NVIDIA官方提供的OpenCL实例在Ubuntu14.04编译遇到的问题
- caffe ubuntu16.04 cuda8.0 cudnnv4
- Spring笔记(第二弹:搭建第一个Spring工程)
- order by 1 与 order by 列名
- 英语口语收集(三十)
- 英语口语收集(三十一)
- 【设计模式 - 17】之中介者模式(Mediator)
- 重复元素全排列
- http缓存提高性能
- 打印乘法口诀表
- 英语口语收集(三十二)