• 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]



  • 相关阅读:
    取目标描述
    DCLF RCVF SNDF SNDRCVF等用法
    CL过程监控JOB的错误消息
    取用户配置文件属性
    SNDBRKMSG 例子
    信息操作
    文件下载解决中文乱码
    table行的上移下移 上下移动
    常用表操作Sql语句
    sql删除重复行
  • 原文地址:https://www.cnblogs.com/mthoutai/p/7372782.html
Copyright © 2020-2023  润新知