您的位置:首页 > 编程语言 > Java开发

Spring学习-helloworld

2016-05-01 21:41 357 查看
第一步,

新建一个Java Project,

然后configure path -> add Libraries 导入Spring包内dist文件夹下的所有文件。

导入common-logging包

第二步,

新建一个PersonService.java文件

package org.crazyit.app.service;

public class PersonService
{
private String name;
//name属性的setter方法
public void setName(String name)
{
this.name = name;
}
//测试Person类的info方法
public void info()
{
System.out.println("此人名为:"
+ name);
}
}


新建一个SpringTest.java

package lee;

import org.crazyit.app.service.PersonService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class SpringTest
{
public static void main(String[] args)
{
//创建Spring的ApplicationContext
ApplicationContext ctx = new ClassPathXmlApplicationContext("bean.xml");
//输出Spring容器
System.out.println(ctx);
PersonService p = ctx.getBean("personService" , PersonService.class);
//其中,"personService"是在bean.xml中定义的id
p.info();
}
}


第三步,定义bean.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.springframework.org/schema
4000
/beans"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> <!-- **将PersonService类部署成Spring容器中的Bean**  -->
<bean id="personService" class="org.crazyit.app.service.PersonService">
<property name="name" value="wawa"/>
</bean>
</beans>


输出wawa,

分析:

Spring容器根据配置文件信息,负责创建Person实例,并为Person实例设置属性值–这种由Spring容器为对象设置属性的方式称为-控制反转(Inversion of Control,IOC)

Person实例的属性并不是程序主动设置的,而是由Spring容器来负责注入的。

不管是依赖注入(Dependency Injection)还是控制反转(IOC,Inversion Of Control),其含义完全相同:
当某个Java实例(调用者)需要另一个Java实例(被调用者),传统程序设计中通常是由调用者来创建被调用者的实例。
在依赖注入模式下,创建被调用者的工作不再由调用者来完成,因此成为控制反转(IOC,Inversion Of Control);
创建被调用者实例的工作通常由Spring容器来完成,然后注入调用者,因此也称为依赖注入(Dependency Injection)。
所谓依赖注入,是指程序运行过程中,如果需要另一个对象协作(调用它的方法,访问它的属性)时,无须再代码中创建被调用者,而是依赖于外部容器的注入。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: