• spring 配置bean的方法及依赖注入发方式


    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]



  • 相关阅读:
    C# 特性学习笔记
    Nhibernate学习的第二天
    Nhibernate学习的第一天
    SQL循环添加表中的字段
    加班
    bat文件重启SQL服务和IIS服务
    判断是不是手机访问的网站
    解决Ueditor 不兼容IE7 和IE8
    实现链表的初始化,按值查找,插入,删除
    判断任一二叉树,是否为满二叉树.(输出二叉树,节点总数,二叉树深度)
  • 原文地址:https://www.cnblogs.com/mthoutai/p/7372782.html
Copyright © 2020-2023  润新知