Bean 的配置方式:通过全类名(反射)、通过工厂方法(静态工厂方法 & 实例工厂方法)、FactoryBean

这里依据全类名配置bean

<bean id="helloWord" class="com.spring.HelloWord">

 <property name="userName" value="springsss"></property>

</bean>

依赖注入发方式:

属性注入:

applicationContext.xml配置文件为:

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"

   xmlns:p="http://www.springframework.org/schema/p"

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.xsd">

<!-- 配置bean -->

<bean id="helloWord" class="com.spring.HelloWord">

 <property name="userName" value="springsss"></property>

</bean>

</beans>

package com.spring;

public class HelloWord {

private String userName;

public void setUserName(String userName) {

this.userName = userName;

}

public void hello() {

System.out.println("hello:" + userName);

}

public HelloWord(){

System.out.println("construct!!!!!!!!!!");

}

}

package com.spring;





import org.springframework.context.ApplicationContext;

import org.springframework.context.support.ClassPathXmlApplicationContext;





public class Test {

public static void main(String[] args) {

/**

* 创建对象及为对象赋值交给spring完毕

*/

// HelloWord helloWord = new HelloWord();

// helloWord.setUserName("hello");

// helloWord.hello();



//1.创建spring IOC容器

ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");





//2从容器中获得Bean

HelloWord helloWord = (HelloWord) ctx.getBean("helloWord");





//3.调用方法

helloWord.hello();



}

}

输出结果为:

construct!!!!!!!!!!

hello:springsss

构造器注入:

applicationContext.xml文件为

<?xml version="1.0" encoding="UTF-8"?

>

<beans xmlns="http://www.springframework.org/schema/beans"

   xmlns:p="http://www.springframework.org/schema/p"

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.xsd">

<!-- 配置bean -->

<bean id="car" class="com.spring.Car">

<constructor-arg value="green"></constructor-arg>

<constructor-arg value="22"></constructor-arg>

</bean>

</beans>

public class Car {

 private String name;

 private String color;

 private int num;

public Car(String color, int num) {

super();

this.color = color;

this.num = num;

}

@Override

public String toString() {

return "Car [name=" + name + ", color=" + color + ", num=" + num + "]";

}





}

package com.spring;





import org.springframework.context.ApplicationContext;

import org.springframework.context.support.ClassPathXmlApplicationContext;





public class Test {

public static void main(String[] args) {





//1.创建spring IOC容器

ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");





Car car = (Car) ctx.getBean("car");

System.out.println(car.toString());



}

}

输出结果为:

Car [name=null, color=green, num=22]

spring 配置bean的方法及依赖注入发方式的更多相关文章

  1. Spring配置bean的方法(工厂方法和Factorybean)

    通过工厂方法配置bean 通过调用静态工厂方法创建bean 通过静态工厂方法创建bean是将对象创建的过程封装到静态方法中.当客户端需要对象时,只需要简单地调用静态方法,而不关心创建对象的细节. 要声 ...

  2. Spring学习(十八)Bean 的三种依赖注入方式介绍

    依赖注入:让调用类对某一接口实现类的依赖关系由第三方注入,以移除调用类对某一接口实现类的依赖.接下来将详细的向大家介绍Spring容器支持的三种依赖注入的方式以及具体配置方法:•    属性注入方法• ...

  3. Spring(八):Spring配置Bean(一)BeanFactory&ApplicationContext概述、依赖注入的方式、注入属性值细节

    在Spring的IOC容器里配置Bean 配置Bean形式:基于xml文件方式.基于注解的方式 在xml文件中通过bean节点配置bean: <?xml version="1.0&qu ...

  4. Spring4学习回顾之路03—XML配置Bean ,依赖注入的方式

    配置Bean的形式可以基于XML文件的方式,也可以基于注解的方式,而Bean的配置方式可以通过全类名(反射),通过工厂方式和FactoryBean. XML形式 <?xml version=&q ...

  5. Spring依赖注入的方式、类型、Bean的作用域、自动注入、在Spring配置文件中引入属性文件

    1.Spring依赖注入的方式 通过set方法完成依赖注入 通过构造方法完成依赖注入 2.依赖注入的类型 基本数据类型和字符串 使用value属性 如果是指向另一个对象的引入 使用ref属性 User ...

  6. [转载]Spring下IOC容器和DI(依赖注入) @Bean及@Autowired

    Spring下IOC容器和DI(依赖注入) @Bean及@Autowired自动装配 bean是什么 bean在spring中可以理解为一个对象.理解这个对象需要换一种角度,即可将spring看做一门 ...

  7. 详解 Spring 3.0 基于 Annotation 的依赖注入实现(转)

    使用 @Repository.@Service.@Controller 和 @Component 将类标识为 Bean Spring 自 2.0 版本开始,陆续引入了一些注解用于简化 Spring 的 ...

  8. Spring 依赖注入的方式

    Spring 支持3中依赖注入的方式 1.属性注入  通过setter 方法注入Bean的属性或依赖的对象. <bean id = " " class = " &q ...

  9. 轻松了解Spring中的控制反转和依赖注入(二)

    紧接上一篇文章<轻松了解Spring中的控制反转和依赖注入>讲解了SpringIOC和DI的基本概念,这篇文章我们模拟一下SpringIOC的工作机制,使我们更加深刻的理解其中的工作. 类 ...

随机推荐

  1. WinForm自定义控件–TextBox扩展

      一.简单回顾 在前两节中,对Panel和GroupBox控件进行了相关的扩展应用,主要都是设置控件的边框以及边框颜色等.本节,继续对WinForm现有的控件TextBox进行扩展,来满足实际开发中 ...

  2. .Net Excel操作之NPOI(一)简介

    一.NPOI简介 NPOI是一个开源项目,可以读/写xls,doc,ppt文件,有着广泛的应用. 使用NPOI能够帮助开发者在没有安装微软Office的情况下读写Office 97-2003的文件,支 ...

  3. DAU预测

    转自: http://www.kaixin001.com/repaste/80488684_6910412734.html 我们知道在所有的游戏运营数据中,最终要的两个数据莫过于DAU.ARPU了.| ...

  4. sugar crm

    百度百科:http://baike.baidu.com/link?url=7SnriwrF-4LcRfXctBbZjLc-UEUqWl3b0YR004pGFk4SJ1qMU9TMj37yFmHRsUS ...

  5. jquery实现相同事件名称,不同命名空间的调用方法

    <html xmlns="http://www.w3.org/1999/xhtml"> <head>  <title></title> ...

  6. sqlserver 临时表、表变量、CTE的比较

    原文地址:  sqlserver 临时表.表变量.CTE的比较 1.临时表 1.1 临时表包括:以#开头的局部临时表,以##开头的全局临时表. 1.2 存储 不管是局部临时表,还是全局临时表,都会放存 ...

  7. Visual Studio 2013中引入Web Service的简单方法visual studio 引用 wsdl

    http://blog.csdn.net/wangzhongbo_24/article/details/49954191 Web Service有三种表示方式 三种方式分别为WSDL.Endpoint ...

  8. verilog语法实例学习(7)

    常用的时序电路介绍 组合电路:这类电路的输出信号值仅却决于输入端信号值. 时序电路:时序电路的输出值不仅取决于当前的输入值,还取决于电路的历史状态,所以时序逻辑电路中包含保存逻辑信号值的存储元件,存储 ...

  9. jQuery easyui layout布局自适应浏览器大小(转)

    首先解释一下标题的含义,当我们用jQuery easyui layout 进行布局的时候,可能会遇到这样一个问题,那就是当手工调整浏览器大小,或者最大化.还原窗口的时候,layout的某个区域不能填充 ...

  10. ubuntu 下python环境的切换使用

    如何在Anaconda的python和系统自带的python之间切换 一般ubuntu下有三种python环境,1. 系统自带python2,3;在/usr/bin路径下:2. anaconda下安装 ...