Spring入门实例

Spring最核心的概念就是“依赖注入”。所谓依赖注入就是你需要什么对象,Spring容器就帮你实例化这个对象,然后注入到你的应用程序中。这样你就不用自己实例化依赖对象,不但简化了开发,还解耦了各模块的依赖。下面我来展示一个实例,比如Person对象要使用Computer,必须依赖Computer这个对象。使用Spring,使你不用自己new对象,Spring容器会帮你在需要的时候注入Computer这个对象。在Spring里,任何java对象都可以当做bean。

Person类:

package com.ydoing.demo;
public class Person {
    //依赖Computer对象
    private Computer computer;

   //Spring容器会自动注入computer
    public void setComputer(Computer computer) {
        this.computer = computer;
    }
    public void useComputer() {
        computer.start();
    }
}

Computer类:

package com.ydoing.demo;

//要注入的bean
public class Computer {
    public void start() {
        System.out.println("computer run");
    }
}

bean的配置:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
    <bean id="computer" class="com.ydoing.demo.Computer" />
    <bean id="person" class="com.ydoing.demo.Person">
        <property name="computer" ref="computer" />
    </bean>
</beans> 

测试类:

package com.ydoing.demo;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class test {
    public static void main(String[] args) {
        ApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml");
        Person person = ctx.getBean("person", Person.class);
        person.useComputer();
    }
}

console输出:

七月 19, 2015 9:25:05 上午 org.springframework.context.support.ClassPathXmlApplicationContext prepareRefresh
信息: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@64fe7a67: startup date [Sun Jul 19 09:25:05 CST 2015]; root of context hierarchy
七月 19, 2015 9:25:05 上午 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
信息: Loading XML bean definitions from class path resource [beans.xml]
computer run

总结:

从以上程序我们看出,没有出现任何new关键字,person对象需要computer对象时,不需要new。Spring会自动注入computer这个bean到person中。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-25 01:51:44

Spring入门实例的相关文章

spring mvc开发入门实例demo源代码下载,很适合新手入门学习用。

原文:spring mvc开发入门实例demo源代码下载,很适合新手入门学习用. 源代码下载:http://www.zuidaima.com/share/1550463469046784.htm Eclipse + Maven + Spring MVC - Simple Example 源代码框架截图:

Quartz入门实例14-让Quartz的Job使用Spring注入的Bean

<!-- 由spring生成scheduler --> <bean id="scheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <!--<property name="jobFactory"> <bean class="cn.zto.job.JobBeanJobFactory"

Spring中IoC的入门实例

Spring中IoC的入门实例 Spring的模块化是很强的,各个功能模块都是独立的,我们可以选择的使用.这一章先从Spring的IoC开始.所谓IoC就是一个用XML来定义生成对象的模式,我们看看如果来使用的. 数据模型 1.如下图所示有三个类,Human(人类)是接口,Chinese(中国人)是一个子类,American(美国人)是另外一个子类. 源代码如下: package cn.com.chengang.spring;public interface Human {void eat();

spring mvc+ibatis+mysql的组合框架入门实例demo源码下载

原文:spring mvc+ibatis+mysql的组合框架入门实例demo源码下载 源代码下载地址:http://www.zuidaima.com/share/1550463678958592.htm spring mvc+ibatis+mysql的组合框架实例 首页 http://localhost:端口/项目/index.jsp 添加用户 添加地址 项目截图 jar包截图

Spring MVC 入门实例

概述: springmvc 框架围绕DispatcherServlet这个核心展开,DispatcherServlet是Spring MVC的总控制,它负责截获请求并将其分派给相应的处理器处理.SpringMVC框架包括注解驱动控制器.请求及响应的信息处理.视图解析.本地化解析.上传文件解析.异常处理以及表单标签绑定等内容. SpringMVC是主要基于MODEL2实现的技术框架,Model2是经典的MVC(model.view.control)模型在web应用中的变体,这个改变主要源于HTTP

Spring FrameWork4(MVC + IOC)快速入门实例

使用Maven创建工程并配置依赖项 首先创建一个Maven Project: 然后选择创建Maven 的webapp实例,当然也可以通过命令行方式创建Maven webapp的项目再转化并导入到MyEclipse中. 在pom.xml中需要对于Spring依赖项进行配置: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-insta

DWR之入门实例(一)

DWR(Direct Web Remoting)是一个WEB远程调用框架.利用这个框架可以让AJAX开发变得很简单.利用DWR可以在客户端利用JavaScript直接调用服务端的Java方法并返回值给JavaScript就好像直接本地客户端调用一样(DWR根据Java类来动态生成JavaScrip代码).它的最新版本DWR0.6添加许多特性如:支持Dom Trees的自动配置,支持Spring(JavaScript远程调用spring bean),更好浏览器支持,还支持一个可选的commons-

Spring入门导读——IoC和AOP

和MyBatis系列不同的是,在正式开始Spring入门时,我们先来了解两个关于Spring核心的概念,IoC(Inverse of Control)控制反转和AOP()面向切面编程. 1.IoC(Inversion of Control)控制反转 什么是控制反转呢?可以这么通俗的来解释,我们通常写代码当一个类会关联另一个类是会直接在这个类里new,例如: 1 package day_30_spring; 2 3 /** 4 * @author 余林丰 5 * 6 * 2016年10月30日 7

Spring入门学习(一)

今天开始正式学习Spring框架,首先讲安装,spring 的版本发布中,有的版本有同步发布依赖包的下载,有的却没有.3.0.2的版本有, 而3.2.3 的版本却没有(可能是因为依赖库没有改变的缘故). 1.下载Spring 这里只是为了学习,下载3.0.2版本的:http://s3.amazonaws.com/dist.springframework.org/release/SPR/spring-framework-3.0.2.RELEASE-dependencies.zip 2.配置Spri