初识Spring4

毕设的时间越来越急了~要赶紧学好三大框架的知识呢

本想看马士兵的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做项目会是怎么样的呢?



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值