Spring IOC学习笔记

 

 

  1. Spring BeanFcatorcy(Bean工厂)

这是最简单的容器,主要作用是为依赖注入提供支持。

2、Spring ApplicationConntext(上下文)

       BeanFcatorcy的子接口也被称作上下文。

 

控制反转(依赖注入)

       控制反转指的是传统的程序是由程序本身来创建对象的,使用Spring后创建对象变成了由Spring创建和管理,程序只需要接收使用对象。

 

Spring IOC创建对象的几种方式

 

  1. 使用无参构造方法创建

User.java

public class User {

   private String User;

   public void setUser(String user) {

      User = user;

   }

   public User() {

      // TODO Auto-generated constructor stub

      System.out.println("无参方法创建User");

   }

   public void show()

   {

      System.out.println("User=  "+User);

   }

}

       Test.java

public static void main(String[] args) {

        ApplicationContext context=new ClassPathXmlApplicationContext("Beans.xml");

        User user=(User)context.getBean("user");

        user.show();

    }

       Beans.Xml

<bean name="user" class="com.user.User">

        <property name="user" value="小明"></property>

    </bean> 

 

 

 

测试结果

      

  1. 通过有参构造方法

User.java

private String User;

    public void setUser(String user) {

        User = user;

    }

    public User(String User) {

        this.User=User;

        System.out.println("有参方法!!");

    }

    public void show()

    {

        System.out.println("User=  "+User);

    }

Test.java不变

 

Beans.xml配置

a.使用index下标设置参数(下标从0开始)

<bean name="user" class="com.user.User">

        <constructor-arg  index="0" value="小明" ></constructor-arg>

    </bean> 

b.使用名称设置的方法

<bean name="user" class="com.user.User">

     <constructor-arg  name="User" value="小明" ></constructor-arg>

    </bean>

c.使用变量的数据类型设置

<bean name="user" class="com.user.User">

        <constructor-arg  type="String" value="小明" ></constructor-arg>

    </bean>

 

       使用3种方法的运行结果都一样

  1. 使用工厂方法创建
  1. 静态工厂方法

public static User staticFcatorcy(String User)

    {

        return new User(User);

    }

 

Beans.Xml配置文件

  1. <bean name="user" class="com.fcatorcy.Staticfcatorcy" factory-method="staticFcatorcy">

     <constructor-arg index="0" value="小红"></constructor-arg>

</bean>    

 

  1. 动态工厂方法

public class Fcatorcy {

    public User staticFcatorcy(String User)

    {

        return new User(User);

    }}

Beans.xml配置

<bean name="user" factory-bean="userfcatorcy" factory-method=" staticFcatorcy ">

        <constructor-arg index="0" value="小红"></constructor-arg>

    </bean>      

     <bean id="userfcatorcy" class="com.fcatorcy.Fcatorcy"></bean> 

测试结果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值