Spring(二)之容器对象的获取

根据容器中id名获取对象

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       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对象,Spring自动创建该对象-->
    <!--class:注册组件的全类名-->
    <!--id:该组件的唯一标识-->
    <bean id="person1" class="helloWorld.Person">
        <property name="name" value="张三"></property>
        <property name="age" value="18"></property>
    </bean>
</beans>
public static void main(String[] args) {
        //当前应用的xml配置文件在类路径下
        ApplicationContext ioc=new ClassPathXmlApplicationContext("ioc.xml");
        //获取当前容器中id名为person1的对象
        Person p=(Person) ioc.getBean("person1");
        System.out.println(p);
    }

根据bean类型获取对象

public static void main(String[] args) {
    //当前应用的xml配置文件在类路径下
    ApplicationContext ioc=new ClassPathXmlApplicationContext("ioc.xml");
    //获取当前容器中id名为person1的对象
    Person p=ioc.getBean(Person.class);
    System.out.println(p);
}

注意,这么获取bean对象,如果有2个相同对象bean写在xml中,那么就会报错。

双管齐下获取

public static void main(String[] args) {
    //当前应用的xml配置文件在类路径下
    ApplicationContext ioc=new ClassPathXmlApplicationContext("ioc.xml");
    //获取当前容器中id名为person1的对象
    Person p=ioc.getBean("person1",Person.class);
    System.out.println(p);
}

利用有参构造器创建对象

创建构造器

 public Person(String name, int age) {
     this.name = name;
     this.age = age;
 }

获取对象

 public static void main(String[] args) {
     //当前应用的xml配置文件在类路径下
     ApplicationContext ioc=new ClassPathXmlApplicationContext("ioc.xml");
     //获取当前容器中id名为person1的对象
     Person p=(Person) ioc.getBean("person2");
     System.out.println(p);
 }

利用p命名空间创建对象

首先在我们的xml文件的首部添上这句话:

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

然后使用p标签:

<bean id="person3" class="helloWorld.Person" p:name="张三" p:age="17"></bean>

这样也可以创建对象。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值