• spring(2)获取对象方式介绍


    1.项目目录

     2.Javabean(省略常见方法)

    public class Person {
    
        private int id;
        private String name;
        private int age;
        private String phone;

    3.新建Spring的配置文件:applicationContext.xml

    此文件中涉及的获取对象的方式一共有6种:

    1)通过id

    2)通过类型(当applicationContext.xml配置文件中,只有一个Person.class的对象实例配置的时候,程序是可以正常运行的)

    3)通过构造方法参数名注入值

    4)index指定具体位置的参数

    5)根据参数类型注入(需要写明参数类型)

    6)P名称空间(结合各个属性)

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:p="http://www.springframework.org/schema/p"
        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
    
        <!-- bean标签用来配置一个Bean(bean就是对象) class属性设置你要配置的Bean的全类名 id属性设置一个唯一的标识 -->
        <bean id="p1" class="com.cn.pojo.Person">
            <!-- property标签配置属性值 name设置属性名 value属性设置值 -->
            <property name="id" value="1" />
            <property name="name" value="p1" />
            <property name="age" value="18" />
            <property name="phone" value="18610541354" />
        </bean>
        <bean id="p2" class="com.cn.pojo.Person">
            <!-- property标签配置属性值 name设置属性名 value属性设置值 -->
            <property name="id" value="2" />
            <property name="name" value="蔡 " />
            <property name="age" value="18" />
            <property name="phone" value="18610541354" />
        </bean>
    
    
        <bean id="p3" class="com.cn.pojo.Person">
            <!-- Person(Integer id, String name, String phone, Integer age) -->
            <!-- constructor-arg 标签是指通过构造器赋值 name设置构造器的参数名 value设置构造器对应的参数值 -->
            <constructor-arg name="id" value="3" />
            <constructor-arg name="name" value="乔" />
            <constructor-arg name="phone" value="18688886666" />
            <constructor-arg name="age" value="18" />
        </bean>
    
        <bean id="p4" class="com.cn.pojo.Person">
            <!-- Person(Integer id, String name, String phone, Integer age) -->
            <!-- idnex属性设置参数的索引 0 第一个参数 1 第二个参数 …… 以此类推 n 第n+1个参数 -->
            <constructor-arg index="0" value="4" />
            <constructor-arg index="1" value="p4" />
            <constructor-arg index="2" value="1222222" />
            <constructor-arg index="3" value="22" />
        </bean>
    
    
        <!-- Person(Integer id, String name, String phone, Integer age) -->
        <!-- 通过构造器参数类型获得 -->
        <bean id="p5" class="com.cn.pojo.Person">
            <constructor-arg index="0" value="5"
                type="java.lang.Integer" />
            <constructor-arg index="1" value="淦"
                type="java.lang.String" />
            <constructor-arg index="2" value="1235888"
                type="java.lang.String" />
            <constructor-arg index="3" value="22"
                type="java.lang.Integer" />
    
        </bean>
    
        <!-- p名称空间格式是: p:属性="值" -->
        <bean id="p6" class="com.cn.pojo.Person" p:id="6" p:name="p名称空间赋值"
            p:age="18" p:phone="18699998888" />
    
    
        <bean id="p7" class="com.cn.pojo.Person">
            <property name="id" value="7" />
            <property name="name">
                <!-- null子标签表示赋null值 -->
                <null></null>
            </property>
            <property name="phone" value="1234567312" />
            <property name="age" value="18" />
        </bean>
    
    
    
    </beans>

    4.测试方法

    @Test
        void test1() {
            // IOC容器与容器的实现类
            // ApplicationContext applicationContext = new
            // ClassPathXmlApplicationContext("applicationContext.xml");
            // or
            ApplicationContext applicationContext = new FileSystemXmlApplicationContext("config/applicationContext.xml");
            // 从容器中获取id为person的对象
            
                Person person = (Person) applicationContext.getBean("p7");
            System.out.println(person);
                
        }

    5.需要新掌握的写法

    <bean id="p1" class="com.cn.pojo.Person">
    		<!-- property标签配置属性值 name设置属性名 value属性设置值 -->
    		<property name="id" value="1" />
    		<property name="name" value="p1" />
    		<property name="age" value="18" />
    		<property name="phone" value="18610541354" />
    </bean>
    
    
    		<constructor-arg index="0" value="4" />
    <constructor-arg index="0" value="5" type="java.lang.Integer" /> <bean id="p6" class="com.cn.pojo.Person" p:id="6" p:name="p名称空间赋值" p:age="18" p:phone="18699998888" />
    <property name="name"> <!-- null子标签表示赋null值 --> <null></null> </property>


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

    ApplicationContext applicationContext = new FileSystemXmlApplicationContext("config/applicationContext.xml");
            // 从容器中获取id为person的对象
            
                Person person = (Person) applicationContext.getBean("p7");


  • 相关阅读:
    javaScript 中的异步编程
    javaScript内存泄漏
    javaScript| 对象的拷贝
    javaScript 数组的拷贝
    javaScript 去除数组中的重复值
    解决js key中的时间间隔
    js未命题(杂记)
    js中斐波拉切数的三种写法;
    js闭包的七中形式
    Javascript学习日志(三):闭包
  • 原文地址:https://www.cnblogs.com/ywqtro/p/12257906.html
Copyright © 2020-2023  润新知