Spring之配置Bean(一)

        1. 配置形式: 基于XML文件的方式、基于注解的方式(此处不讲解)

           创建applicationContext.xml文件并且将xml配置文件置于src路径下面

           新建的配置文件:

           



	

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

         (1)通过全类名来配置bean

                   


 
    
 

       id:Bean的名称

        -在IOC容器中是唯一的

        -如果没有指定id,默认将全类名作为Bean的名字

       -id可以指定多个名字,名字之间可以用逗号、分号或者空格分割

     class:bean的全类名,通过反射方式在IOC容器中创建Bean,所以要求Bean中必须有无参构造器

    3. IOC容器 BeanFactory&ApplicationContext概述

       在SpringIOC容器读取Bean配置创建的Bean实例之前,必须对它进行实例化,只有在容器实例化后,才可以从IOC容器中获取Bean实例,而IOC容器实现hi靠一下两种来实现的

       BeanFactory:IOC容器的基本实现

       applicationContext:提供了更多的高级特性,是BeanFactory的子类(更多的使用该方式)

    上面两种方式都是基于的配置文件都是相同的

      实例:

      创建Spring的IOC容器    

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

      其中ApplicationContext 代表IOC容器;ClassPathXmlApplicationContext接口的实现类,该实现类从类路径下来加载配置文件

      从IOC容器获取Bean实例 有两种方式,通过bean唯一表示id,通过Bean类型获取

        HelloWorld  helloWorld = (HelloWorld)ctx.getBean("bean的id");  因为id是唯一的这样获取是完全没有问题的

        HelloWorld  helloWorld = ctx.getBean(HelloWorld.class)  因为同一个类可能在IOC容器中创建两个bean,这样的话就不是为了


    4.依赖注入的方式:属性注入、构造器注入、工厂方法模式(很少使用不推荐)

       (1)属性注入

              通过setter方法进行注入属性值或者依赖对象,在开发中是最常用的,强烈推荐使用

             

       (2)构造方法注入

             通过构造方法注入Bean属性值或者依赖的对象,它保证Bean实例在实例后就可以使用,构造器注入在元素里面声明属性,在中没有name属性

      Car.java

       

package com.syh.spring1;

public class Car {
	private String brand ;
	private String corp;
	private int price;
	private int maxSpeed;
	public Car(String brand, String corp, int price, int maxSpeed) {
		super();
		this.brand = brand;
		this.corp = corp;
		this.price = price;
		this.maxSpeed = maxSpeed;
	}
	@Override
	public String toString() {
		return "Car [brand=" + brand + ", corp=" + corp + ", price=" + price
				+ ", maxSpeed=" + maxSpeed + "]";
	}	
}

applicationContext.xml


    
        
        
        
        
    

测试:

		ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
		Car car = (Car) ctx.getBean("car");
		System.out.println(car);

结果:


你可能感兴趣的:(Spring之配置Bean(一))