SPRING01_概述、配置文件、bean实例化、依赖注入的方式、依赖注入的数据类型、分模块开发、API使用(四)

简介: SPRING01_概述、配置文件、bean实例化、依赖注入的方式、依赖注入的数据类型、分模块开发、API使用(四)

⑤. Bean的依赖注入的数据类型


  • ①. 普通数据类型(value) ②. 引用数据类型(ref) ③. 集合数据类型


  • ②. 基本数据类型


  public class UserDaoImpl implements UserDao {
  private String company;
      private int age;
      public void setCompany(String company) {
          this.company = company;
      }
      public void setAge(int age) {
          this.age = age;
      }
      public void save() {
          System.out.println(company+"==="+age);
          System.out.println("UserDao save method running....");   
      }
  }


  <bean id="userDao" class="com.xiaozhi.dao.impl.UserDaoImpl">
      <property name="company" value="TANGZHI"></property>
      <property name="age" value="15"></property>
  </bean>


  • ③. 引用数据类型(UserService中注入了UserDao)


  • ④. 集合类型的注入


  //(1).集合数据类型(List<String>)的注入
  public class UserDaoImpl implements UserDao {
    private List<String> strList;
    public void setStrList(List<String> strList) {
      this.strList = strList;
    }
    public void save() {
          System.out.println(strList);
          System.out.println("UserDao save method running....");
    }
  }
  <bean id="userDao" class="com.xiaozhi.dao.impl.UserDaoImpl">
      <property name="strList">
          <list>
              <value>aaa</value>
              <value>bbb</value>
              <value>ccc</value>
          </list>
      </property>
  </bean>


  //(2). 集合数据类型(List<User>)的注入
  public class UserDaoImpl implements UserDao {
    private List<User> userList;
    public void setUserList(List<User> userList) {
    this.userList = userList;  
   }
  public void save() {
    System.out.println(userList);
    System.out.println("UserDao save method running....");
    }
  }
  <bean id="u1" class="com.xiaozhi.domain.User"/>
  <bean id="u2" class="com.xiaozhi.domain.User"/>
  <bean id="userDao" class="com.xiaozhi.dao.impl.UserDaoImpl">
      <property name="userList">
          <list>
              <bean class="com.xiaozhi.domain.User"/>
              <bean class="com.xiaozhi.domain.User"/>
              <ref bean="u1"/>
              <ref bean="u2"/>       
          </list>
      </property>
  </bean>


  //(3). 集合数据类型( Map<String,User> )的注入
  public class UserDaoImpl implements UserDao {
      private Map<String,User> userMap;
      public void setUserMap(Map<String, User> userMap) {
      this.userMap = userMap;
      }    
  public void save() {      
    System.out.println(userMap);
    System.out.println("UserDao save method running....");
    }
  }
  <bean id="u1" class="com.xiaozhi.domain.User"/>
  <bean id="u2" class="com.xiaozhi.domain.User"/>
  <bean id="userDao" class="com.xiaozhi.dao.impl.UserDaoImpl">
      <property name="userMap">
          <map>            
              <entry key="user1" value-ref="u1"/>
              <entry key="user2" value-ref="u2"/>
          </map>
      </property>
  </bean>


  //(4). 集合数据类型(Properties)的注入
  public class UserDaoImpl implements UserDao {
      private Properties properties;
      public void setProperties(Properties properties) {
          this.properties = properties;
      }
    public void save() {
      System.out.println(properties);
      System.out.println("UserDao save method running....");
    }
  }
  <bean id="userDao" class="com.xiaozhi.dao.impl.UserDaoImpl">
      <property name="properties">
          <props>
              <prop key="p1">aaa</prop>
              <prop key="p2">bbb</prop> 
              <prop key="p3">ccc</prop>
          </props>
      </property>
  </bean>



相关文章
|
13天前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
43 2
|
2月前
|
Java API 数据库
构建RESTful API已经成为现代Web开发的标准做法之一。Spring Boot框架因其简洁的配置、快速的启动特性及丰富的功能集而备受开发者青睐。
【10月更文挑战第11天】本文介绍如何使用Spring Boot构建在线图书管理系统的RESTful API。通过创建Spring Boot项目,定义`Book`实体类、`BookRepository`接口和`BookService`服务类,最后实现`BookController`控制器来处理HTTP请求,展示了从基础环境搭建到API测试的完整过程。
48 4
|
5月前
|
Java API 开发者
在Spring Boot中集成Swagger API文档
在Spring Boot中集成Swagger API文档
|
5月前
|
Java API Spring
Spring Boot中的API版本控制
Spring Boot中的API版本控制
|
26天前
|
供应链 数据挖掘 API
电商API接口介绍——sku接口概述
商品SKU(Stock Keeping Unit)接口是电商API接口中的一种,专门用于获取商品的SKU信息。SKU是库存量单位,用于区分同一商品的不同规格、颜色、尺寸等属性。通过商品SKU接口,开发者可以获取商品的SKU列表、SKU属性、库存数量等详细信息。
|
2月前
|
机器学习/深度学习 算法 API
机器学习入门(五):KNN概述 | K 近邻算法 API,K值选择问题
机器学习入门(五):KNN概述 | K 近邻算法 API,K值选择问题
|
3月前
|
JSON 缓存 API
淘系商品详情API接口概述,API文档说明
在成长的路上,我们都是同行者。这篇关于API接口的文章,希望能帮助到您。期待与您继续分享更多API接口的知识,请记得关注Anzexi58哦! 淘宝API接口文档是淘宝开放平台为开发者提供的一套详细的技术规范和使用指南,旨在帮助开发者通过API接口与淘宝平台进行交互,获取商品详情等数据。以下是对淘宝商品详情数据解析的详细说明:
|
3月前
|
缓存 Java 应用服务中间件
随着微服务架构的兴起,Spring Boot凭借其快速开发和易部署的特点,成为构建RESTful API的首选框架
【9月更文挑战第6天】随着微服务架构的兴起,Spring Boot凭借其快速开发和易部署的特点,成为构建RESTful API的首选框架。Nginx作为高性能的HTTP反向代理服务器,常用于前端负载均衡,提升应用的可用性和响应速度。本文详细介绍如何通过合理配置实现Spring Boot与Nginx的高效协同工作,包括负载均衡策略、静态资源缓存、数据压缩传输及Spring Boot内部优化(如线程池配置、缓存策略等)。通过这些方法,开发者可以显著提升系统的整体性能,打造高性能、高可用的Web应用。
77 2
|
4月前
|
存储 算法 Oracle
19 Java8概述(Java8概述+lambda表达式+函数式接口+方法引用+Stream+新时间API)
19 Java8概述(Java8概述+lambda表达式+函数式接口+方法引用+Stream+新时间API)
70 8
|
4月前
|
测试技术 编译器 Go
依赖注入与控制反转:优化Go语言REST API客户端
依赖注入与控制反转:优化Go语言REST API客户端