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>



相关文章
|
19天前
|
设计模式 开发框架 Java
Spring及工厂模式概述
Spring及工厂模式概述
29 8
|
4月前
|
XML Java 数据库
【Spring】SpringBoot 配置文件
【Spring】SpringBoot 配置文件
|
3月前
|
安全 Java 数据库连接
《Spring Boot配置文件大揭秘:看懂 application.yaml 与 bootstrap.yaml 的不同》
《Spring Boot配置文件大揭秘:看懂 application.yaml 与 bootstrap.yaml 的不同》
133 0
|
2月前
|
Java 数据库连接 API
【Spring】1、Spring 框架的基本使用【读取配置文件、IoC、依赖注入的几种方式、FactoryBean】
【Spring】1、Spring 框架的基本使用【读取配置文件、IoC、依赖注入的几种方式、FactoryBean】
54 0
|
5天前
|
前端开发 Java 应用服务中间件
Spring MVC框架概述
Spring MVC 是一个基于Java的轻量级Web框架,采用MVC设计模型实现请求驱动的松耦合应用开发。框架包括DispatcherServlet、HandlerMapping、Handler、HandlerAdapter、ViewResolver核心组件。DispatcherServlet协调这些组件处理HTTP请求和响应,Controller处理业务逻辑,Model封装数据,View负责渲染。通过注解@Controller、@RequestMapping等简化开发,支持RESTful请求。Spring MVC具有清晰的角色分配、Spring框架集成、多种视图技术支持以及异常处理等优点。
12 1
|
24天前
|
安全 Java API
第1章 Spring Security 概述(2024 最新版)(下)
第1章 Spring Security 概述(2024 最新版)
24 0
|
24天前
|
安全 Java 数据安全/隐私保护
第1章 Spring Security 概述(2024 最新版)(上)
第1章 Spring Security 概述(2024 最新版)
31 0
|
1月前
|
Java Shell 测试技术
一次配置,多场景适用:Spring Boot多套配置文件的深度剖析
一次配置,多场景适用:Spring Boot多套配置文件的深度剖析
40 0
一次配置,多场景适用:Spring Boot多套配置文件的深度剖析
|
2月前
|
XML 缓存 Java
天天用 Spring,bean 实例化原理你懂吗
天天用 Spring,bean 实例化原理你懂吗
20 0
|
3月前
|
前端开发 Java 数据库连接
spring 的概述和入门
spring 的概述和入门
49 0