首页 > 其他分享 >Spring bean依赖注入

Spring bean依赖注入

时间:2024-10-09 15:21:53浏览次数:12  
标签:依赖 Spring ServiceImpl List System bean userDaoList public out

1.注入方式

在这里插入图片描述
其中,ref为引用其他bean,value是普通属性的注入。

先来看看set方法

<bean id="Service" class="com.demo.impl.ServiceImpl" >
        <property name="id" value="001"></property>
        <property name="userdaoimpl" ref="UserDao"></property>
</bean>

<bean id="UserDao" class="com.demo.impl.UserDaoImpl"></bean>
public class ServiceImpl implements Service{

    public void setId(int id) {
        System.out.println("set方法,普通参数");
    }

    public void setUserdaoimpl(UserDaoImpl userdaoimpl) {
        System.out.println("set方法,引用其他bean");
    }
}

输出结果
在这里插入图片描述

再来看看构造方法:

public class ServiceImpl implements Service{

    public ServiceImpl(String id, UserDaoImpl userdaoimpl) {
        System.out.println("构造方法,普通参数和引用其他bean");
    }
}
<bean id="Service" class="com.demo.impl.ServiceImpl" >
            <constructor-arg name="id" value="001"></constructor-arg>
            <constructor-arg name="userdaoimpl" ref="UserDao"></constructor-arg>
</bean>

<bean id="UserDao" class="com.demo.impl.UserDaoImpl"></bean>

输出结果:

在这里插入图片描述

2. 注入数据类型
  • 普通数据类型。如int,String等,通过value属性指定

  • 引用数据类型。如ServiceImpl,UserDaoImpl等,通过ref属性指定

  • 集合数据类型。如set,map,List,properties等

    这里就主要再讲一下集合数据(List)怎么去注入:

    public class ServiceImpl implements Service{
    
        //举两种List类型
        public List<String> stringList;
        public List<UserDaoImpl> userDaoList;
    
        public void setStringList(List<String> stringList) {
            this.stringList = stringList;
        }
        public void setUserDaoList(List<UserDaoImpl> userDaoList) {
            this.userDaoList = userDaoList;
        }
    
        public void show(){
            System.out.println(stringList);
            System.out.println(userDaoList);
        }
    }
    
    <bean id="Service" class="com.demo.impl.ServiceImpl" >
            <property name="stringList">
                <list>
                    <value>aaa</value>
                    <value>bbb</value>
                    <value>ccc</value>
                </list>
            </property>
    
            <property name="userDaoList">
                <list>
                    <bean class="com.demo.impl.UserDaoImpl"></bean>
                    <bean class="com.demo.impl.UserDaoImpl"></bean>
                    <bean class="com.demo.impl.UserDaoImpl"></bean>
                </list>
            </property>
        </bean>
    
        <bean id="UserDao" class="com.demo.impl.UserDaoImpl"></bean>
            
            
    //关于userDaoList,还可以这样配
      		<property name="userDaoList">
                <list>
                    <ref bean="UserDao1"></ref>
                    <ref bean="UserDao2"></ref>
                    <ref bean="UserDao3"></ref>
                </list>
            </property>
    </bean>
    
        <bean id="UserDao1" class="com.demo.impl.UserDaoImpl"></bean>
        <bean id="UserDao2" class="com.demo.impl.UserDaoImpl"></bean>
        <bean id="UserDao3" class="com.demo.impl.UserDaoImpl"></bean>
    

    输出结果:

    在这里插入图片描述

同理,其他集合都是类似的操作。

标签:依赖,Spring,ServiceImpl,List,System,bean,userDaoList,public,out
From: https://blog.csdn.net/Ggjvhsjsj/article/details/142787729

相关文章

  • (计算机毕设)基于Vue和Spring Boot的宠物救助网站设计与实现
    博主可接毕设!!!毕业设计(论文)基于Vue和SpringBoot的宠物救助网站设计与实现摘 要随着中国互联网的迅猛发展,传统宠物救助领域面临着信息管理繁琐、辐射范围有限、信息传播受限、丢失宠物找回几率较小等问题。为了应对这些挑战,本文采用了Vue.js和SpringBoot技术,开发了一......
  • (2024最新毕设合集)基于SpringBoot的乡村书屋小程序-31881|可做计算机毕业设计JAVA、PHP
    摘要随着信息技术的快速发展和互联网的广泛普及,数字化服务的需求不断增长,乡村书屋作为传统的文化服务机构也需要适应这一变革。本研究将使用Java开发技术,通过springboot作为框架,结合微信小程序,和MySQL作为数据存储的技术,开发一套功能齐备可移动的乡村书屋小程序,旨在提升乡......
  • Springboot电子产品购物商城系统go37b(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表用户,产品分类,产品信息,通知公告开题报告内容一、课题研究背景与意义随着互联网技术的飞速发展,电子商务已成为当今商业活动的重要组成部分。电子产品,特别是智......
  • Spring Boot学习资源库:Spring生态的精华
    摘要社会的进步,教育行业发展迅速,人们对教育越来越重视,在当今网络普及的情况下,教学模式也开始逐渐网络化,各大高校开始网络教学模式。本文研究的教学资源库系统基于Springboot框架,采用Java技术和MYSQL数据库设计开发。在系统的整个开发过程中,首先对系统进行了需求分析,设计......
  • 【JAVA开源】基于Vue和SpringBoot的医疗病历交互系统
    本文项目编号T072,文末自助获取源码\color{red}{T072,文末自助获取源码}......
  • Spring Boot教学资源库:构建微服务的基石
    2相关技术简介2.1Java技术Java是一种非常常用的编程语言,在全球编程语言排行版上总是前三。在方兴未艾的计算机技术发展历程中,Java的身影无处不在,并且拥有旺盛的生命力。Java的跨平台能力十分强大,只需一次编译,任何地方都可以运行。除此之外,它还拥有简单的语法和实用的类库......
  • Spring Boot教育资源库:技术精进的桥梁
    2相关技术简介2.1Java技术Java是一种非常常用的编程语言,在全球编程语言排行版上总是前三。在方兴未艾的计算机技术发展历程中,Java的身影无处不在,并且拥有旺盛的生命力。Java的跨平台能力十分强大,只需一次编译,任何地方都可以运行。除此之外,它还拥有简单的语法和实用的类库......
  • Spring Boot教学资源库:从入门到精通
    1绪论1.1研究背景目前,在网络大环境下,越来越多高校开始实行网络教学,利用网络教学方式有利于学生更好的学习。网络教学是指以计算机及网络为基础,来实现教学资源的上传、存储、传播和共享的教学手段。它是一种教学活动,必然存在着一定的学习方式,计算机网络是网络教学实现的......
  • Spring Boot教育资源集:学习者的指南
    1绪论1.1研究背景目前,在网络大环境下,越来越多高校开始实行网络教学,利用网络教学方式有利于学生更好的学习。网络教学是指以计算机及网络为基础,来实现教学资源的上传、存储、传播和共享的教学手段。它是一种教学活动,必然存在着一定的学习方式,计算机网络是网络教学实现的......
  • 基于Java+SpringBoot+Mysql在线年度考核考勤管理系统功能设计与实现九
    一、前言介绍:1.1项目摘要随着计算机和网络技术的迅猛发展,学校教学和管理的信息化发展也得到了长足的进步,学校是否具有一流的信息管理、教育教学的平台已经是衡量一个学校信息化建设的重要标志之一。本文首先介绍了在线考试系统的开发背景,开发工具,结构化开发的具体步骤,然......