毕设的时间越来越急了~要赶紧学好三大框架的知识呢
本想看马士兵的Spring视频的,但是发现网上公布的是2.8版本的,太老了,所以还是回归书本好了~Spring学习我现在用的是李刚老师写的《轻量级JavaEE其实应用实战》
废话不多说,首先我们先配置一个Spring的开发环境
我在这里用的是:Spring4.0.4下载地址
还需要下载common-logging下载地址
下载完成后在spring-framework-4.0.4.RELEASE-dist\spring-framework-4.0.4.RELEASE\libs路径下会有64个jar文件,选出名字中没有source和javadoc的那些jar文件我这里好像是21个还是22个来着,把那些jar导入进类的加载路径中,之后导入common-logging的jar包,相对路径是commons-logging-1.2-bin\commons-logging-1.2下的commons-logging-1.2.jar文件
导入好了之后在eclipse中是这样的
接下来我们就做一个小的实例来看下Spring到底是什么
创建一个包idao,下面创建两个接口Person.java和Axe.java
Person.java的内容是
package idao;
public interface Person {
//使用斧头的方法
public void useAxe();
}
Axe.java的内容是
package idao;
//斧子接口
public interface Axe {
//砍的方法
public String chop();
}
之后创建一个包dao,里面创建三个类,Chinese和StoneAxe还有SteelAxe
Chinese中国人类的内容
package dao;
import idao.Axe;
import idao.Person;
public class Chinese implements Person {
private Axe axe;
public void setAxe(Axe axe) {
this.axe = axe;
}
@Override
public void useAxe() {
// TODO Auto-generated method stub
System.out.println("中国人在用斧头的时候说:" + axe.chop());
}
}
StoneAxe中的内容如下
package dao;
import idao.Axe;
public class StoneAxe implements Axe {
@Override
public String chop() {
// TODO Auto-generated method stub
return "用石斧砍好累";
}
}
SteelAxe中的内容如下
package dao;
import idao.Axe;
public class SteelAxe implements Axe {
@Override
public String chop() {
// TODO Auto-generated method stub
return "用钢斧砍得很轻松";
}
}
之后在src目录下创建一个xml文件,取名叫beans.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"
xmlns:c="http://www.springframework.org/schema/c"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="chinese" class="dao.Chinese">
<!-- 设置chinese这个bean的axe属性为stoneAxe这个bean -->
<!-- 好好奇为什么stoneAxe可以声明在后面 -->
<property name="axe" ref="steelAxe"></property>
</bean>
<bean id="stoneAxe" class="dao.StoneAxe"></bean>
<bean id="steelAxe" class="dao.SteelAxe"></bean>
</beans>
之后创建一个包叫做test,里面创建一个测试类叫做TestPerson
TestPerson.java的内容是
package test;
import idao.Person;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class TestPerson {
@Test
public void testChineseAxe() {
//创建Spring容器
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("beans.xml");
//获取chinese实例
Person p = applicationContext.getBean("chinese", Person.class);
p.useAxe();
}
}
之后执行的效果如下
之后我们再把xml的配置改成
<property name="axe" ref="stoneAxe"></property>
执行起来的效果是这样的
怎么样~有没有感觉好神奇呢?在这过程中我可没有在代码中new一个实体对象哦
目前为止,个人感觉Spring就像一个Bean的工厂一样,想要什么Bean就直接从里面拿就好,如果实体类多的话还是很方便的
现在我也是刚刚接触到这个,好期待用Spring做项目会是怎么样的呢?