Spring使用入门示例
来源:互联网 发布:阿里云备案拍照 编辑:程序博客网 时间:2024/06/01 11:50
在Java世界有一件事情需要习以为常,就是经常会跑出一堆缩写、概念出来,什么Spring、Struts、Hibernate等等等等,这种情况谈不上好,你得花时间熟悉;也不能说是缺点,毕竟它带来新鲜跟乐趣。
最近稍微接触了一些Spring的皮毛,写了个例子,希望对初初初学者有用,高手指正。
1.Spring是什么
网上对Spring以及使用Spring的好处的解释铺天盖地,常常是各个网站之间互相拷贝,而且还引入了一堆的缩写,什么IoC、AOP……
我觉得对跟我一样的初学者而言,可以这么理解:Spring是基于反射机制写的一些包,有了它以后你可以将类的实例化写到一个配置文件里,由相应的Spring包负责实例化。
假设你有一个类A,以前你实例化时要写A a = new A(),现在不用了,你只要写一个xml文件,并按Spring指定的格式配置好,它就能通过反射机制将A的实例返回给你。
至于使用Spring的好处,我会在下面的实例中提到。
2. 下载Spring
spring-framework-3.0.3.RELEASE-dependencies.zip
(sha1)
155.7 MB
spring-framework-3.0.3.RELEASE-with-docs.zip
(sha1)
45.0 MB
spring-framework-3.0.3.RELEASE.zip
(sha1)
21.4 MB
我第一次下载的是with-docs.zip,觉得解压后看了一下,Spring自身的jar应该是都有了,不过在后面的程序编译时出现:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
没有找到相关的jar包,后来尝试下载dependencies.zip并在里面找到了com.springsource.org.apache.commons.logging-1.1.1.jar包。
总而言之,我也不知道它们这些release包是怎么组织起来的,汗。
3. 编写示例
示例包含一个接口IProgrammingLanguage,用于表示编程语言,两个类JavaLanguage跟PerlLanguage实现该接口用于表示特定的编程语言Java跟Perl。
另外有一个Developer类,用于表示IT开发者。最后,是程序入口所在的Main类。
3.1.接口IProgrammingLanguage.java
package example;
public interface IProgrammingLanguage {
public String whoAmI();
}
3.3.JavaLanguage.java
代码
package example;
public class JavaLanguage implements IProgrammingLanguage {
@Override
public String whoAmI() {
// TODO Auto-generated method stub
return "Java";
}
}
3.3.PerlLanguage.java
代码
package example;
public class PerlLanguage implements IProgrammingLanguage {
@Override
public String whoAmI(www.ttays.com) {
// TODO Auto-generated method stub
return "Perl";
}
}
- Spring使用入门示例
- Spring使用入门示例
- Spring入门示例
- Spring入门示例
- Spring入门示例
- Spring MVC 入门示例
- Spring MVC 入门示例
- Spring MVC 入门示例
- Spring MVC 入门示例
- Spring MVC入门示例
- Spring MVC入门示例
- spring简单入门示例
- spring简单入门示例
- spring简单入门示例
- Spring入门示例
- Spring AOP 入门示例
- spring简单入门示例
- Spring快速入门示例
- 解决https证书导入路径有空格问题
- 第16周项目3-用函数指针调用函数
- 04分布式NOSQL HBASE - HBase过滤器
- 16周(oj 3)
- hdu 4309 Seikimatsu Occult Tonneru 枚举+最大流
- Spring使用入门示例
- Linux7运维视频教程
- 欧姆定律对电流精确测量造成的缺憾及解决方案
- hdu 4862 Jump 上下界费用流
- 个人主页
- JavaScript中声明全局变量三种方式的异同
- 第十六周项目四 为动态数组扩容
- 用Java实现断点续传(HTTP)
- 第十六周项目4为动态数组扩容