首页 > 其他分享 >Spring的基础使用二

Spring的基础使用二

时间:2022-10-24 18:58:01浏览次数:63  
标签:Spring 基础 bean 设置 使用 属性 IOC 赋值

Spring的基础使用二

Setter注入

   <bean id="studentTwo" class="com.wfy.pojo.Student">
        <property name="sid" value="1001"></property>
        <property name="name" value="任凌飞"></property>
        <property name="gender" value="男"></property>
        <property name="age" value="20"></property>
    </bean>

Setter注入:

  • ​ property: 通过成员变量的set方法进行赋值
  • ​ name: 设置需要赋值的属性名(和set、get方法有关,和成员变量名无关)
  • ​ value: 设置为属性所赋的值

构造器注入

  <bean id="studentThree" class="com.wfy.pojo.Student">
        <constructor-arg value="1001"></constructor-arg>
        <constructor-arg value="任凌飞"></constructor-arg>
        <constructor-arg value="20"></constructor-arg>
        <constructor-arg value="男"></constructor-arg>
    </bean>

构造器注入:

  • ​ constructor-arg:通过有参构造器为属性赋值
  • ​ value: 为有参构造器中的各个属性赋值

设置特殊字符

    <bean id="studentFive" class="com.wfy.pojo.Student">
        <property name="sid" value="1001"></property>
        <property name="name" >
            <value><![CDATA[<任凌飞>]]></value>
        </property>
        <property name="gender" value="男"></property>
        <property name="age" value="20"></property>
    </bean>
  • "< : &lt"

  • " > : &gt "

  • CDATA节其中的内容会原样解析

为属性赋值为空标签

 <bean id="studentFour" class="com.wfy.pojo.Student">
        <property name="sid" value="1001"></property>
        <property name="name" value="任凌飞"></property>
        <property name="gender">
            <null/>
        </property>
        <property name="age" value="20"></property>
    </bean>

通过标签进行赋空值

    @Test
    public void DIThree(){
        //获取IOC容器
        ApplicationContext ioc= new ClassPathXmlApplicationContext("applicationContext.xml");
        //获取bean
        Student bean = ioc.getBean("studentFour", Student.class);
        System.out.println(bean);
    }
 System.out.println(bean.getGender().toString())

抛出异常:

NullPointerException空指针异常,因此通过设置标签就可以为属性赋空值

多表引用

一、ref:引用IOC容器中某一个bean的id来为当前的属性赋值

  <property name="class" ref="classOne"></property>
  <bean id="studentSix" class="com.wfy.pojo.Student">
        <property name="sid" value="1001"></property>
        <property name="name" value="任凌飞"></property>
        <property name="age" value="20"></property>
        <property name="gender" value="男"></property>
        <property name="cla" ref="classOne"></property>
    </bean>
    <bean id="classOne" class="com.wfy.pojo.Class">
        <property name="cid" value="1"></property>
        <property name="cname" value="宏志班"></property>
    </bean>

二、通过级联的方式,要保证提前为class属性赋值或者实例化

  <property name="class.cid" value="1001"></property>

三、通过内部Bean进行设置

  <bean id="studentSix" class="com.wfy.pojo.Student">
        <property name="sid" value="1001"></property>
        <property name="name" value="任凌飞"></property>
        <property name="age" value="20"></property>
        <property name="gender" value="男"></property>
        <property name="cla">
            <bean id="claInner" class="com.wfy.pojo.Class">
                <property name="cid" value="1001"></property>
                <property name="cname" value="宏志班"></property>
            </bean>
        </property>

注意:内部bean,只能在当前bean的内部使用,不能直接通过IOC容器获取

标签:Spring,基础,bean,设置,使用,属性,IOC,赋值
From: https://www.cnblogs.com/wfy-studying/p/16822413.html

相关文章

  • 因为使用的是ip v6方案,导致Whatsapp筛号软件刷新不出解决方法
    一般Windows10系统是支持IPV6协议,有些用户连接的网络是IPV4协议,对于我们个人来说,这个几乎是用不到IPV6。而且开启IPV6协议会造成开机卡慢、未响应的假死现象。有什么好办法......
  • springboot整合elasticsearch实现MySQL模糊查询
    es关联mysql实现模糊查询的数据流:   1、使用logstash同步mysql数据到eslogstash简介及基本操作:https://blog.csdn.net/yurun_house/article/details/109025588win......
  • Spring常见问题解决办法汇总
     解决Theprefix'context'forelement'context:component-scan'isnotbound<beansxmlns="http://www.springframework.org/schema/beans"   xmlns:xsi="http://w......
  • 面试题JavaScript基础
    原博客地址01.如何开启js严格模式?js严格模式有什么特点?参考点:js基础知识参考答案://全局开启'usestcict'//局部开启functionfu(){'usestrict'}/*1......
  • 达内 spring cloud 笔记
    目录随堂笔记笔记乱码问题课程安排(17到18天)开发环境常用地址springcloud搭建业务案例eureka注册中心注册中心客户端订单调用商品和用户Zuul-Api网关hystrixhystrixd......
  • SpringBoot代理图片、文件等路径
    在config文件夹下新增一个配置类即可 /***@authorcyl*@time2022/10/24*/@ConfigurationpublicclassMyWebAppConfigurationextendsWebMvcConfigurerAda......
  • 【Python基础学习】第十一节 内置函数详解
    Python基础学习之内置函数Python3.5版本中的68个内置函数,按顺序逐个进行了自认为详细的解析,现在是时候进行个总结了。为了方便记忆,将这些内置函数进行了如下分类:1.数学运......
  • OpenSSL库开发:(三)命令行使用
    1、简介OpenSSL是用于传输层安全(TLS)协议(以前称为安全套接字层(SSL)协议)的强大、商业级、功能齐全的开源工具包。协议实现基于全强度通用密码库,也可以单独使用。Op......
  • Epson RC+ 7.0 下载安装使用图文教程
    简介爱普生机器人仿真系统,是通过计算机对实际的机器人系统进行模拟的技术。机器人仿真系统可以通过单机或者多台机器人从而组成工作站或是生产线。这些工业机器人的仿真软......
  • 面试 个人摸底监测 考察JavaScript基础 (第三天)
    01,如何开启JS严格模式?JS严格模式有什么特点?两种方式全局开启在js开头加上'usestrict'局部开启,在作用域开头加上functionfn(){'usestrict'}特点:1,全局变量必须......