首页 > 代码库 > 2014-12-15

2014-12-15

spring 作为一个开源框架,在如今的Java开发中有着不可或缺的地位。 今天开始学习spring


spring所需要的架包。

第一个是spring需要用到的工具包,其他的都是spring自己的包,今天看视频spring 4.0应该是不需要org.springframework.asm这个包的。但是3.0的话会出现ClassNotFoundException异常。

首先,我们需要创建spring的配置文件: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"
	xmlns:p="http://www.springframework.org/schema/p"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
	<bean id="helloWorld" class="com.spring.Bean.HelloWorld">
		<property name="name" value="http://www.mamicode.com/Spring"></property>
	</bean>
	
</beans>

bear id 为IOC容器获取bean的名字,class指向JavaBean。

property name 对应JavaBean中的方法,value是赋值。

public static void main(String[] args) {
		/*// 创建HelloWorld的一个对象
		HelloWorld hello = new HelloWorld();
		// 为name属性赋值
		hello.setName("ssss");*/
		
		// 1.创建Spring的 IOC容器对象
		ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
		
		// 2.从 IOC 中获取 bean实例
		HelloWorld hello = (HelloWorld) ctx.getBean("helloWorld");
		// 3.调用hello方法
		hello.hello();
	}

调用spring的步骤 首先我们需要创建spring的容器,然后通过spring的容器来获取我们配置的bean实例,最后调用bean中的方法。 等同于之前的new出的实例。

IOC的作用会通过反射机制来自动的帮你创建容器对象,而不需要自己去new一个对象出来。

Spring会在容器被创建时验证容器中每个bean的配置,包括验证那些bean所引用的属性是否指向一个有效的bean。在bean被实际创建之前,bean的属性并不会被设置。伴随着bean被实际创建,作为该bean的依赖bean以及依赖bean的依赖bean也将被创建和分配。

同时spring的依赖注入的方式,并不是通过class文件中真的有这个属性才做依赖注入的,而是检查有没有setXxx的方法来确定有没有这个属性的,然就是说spring判断有没有这个属性,并获取,是通过get与set方法来判断的。

2014-12-15