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>



相关文章
|
6月前
|
存储 Java 文件存储
微服务——SpringBoot使用归纳——Spring Boot使用slf4j进行日志记录—— logback.xml 配置文件解析
本文解析了 `logback.xml` 配置文件的详细内容,包括日志输出格式、存储路径、控制台输出及日志级别等关键配置。通过定义 `LOG_PATTERN` 和 `FILE_PATH`,设置日志格式与存储路径;利用 `&lt;appender&gt;` 节点配置控制台和文件输出,支持日志滚动策略(如文件大小限制和保存时长);最后通过 `&lt;logger&gt;` 和 `&lt;root&gt;` 定义日志级别与输出方式。此配置适用于精细化管理日志输出,满足不同场景需求。
1298 1
|
6月前
|
Java 数据库 微服务
微服务——SpringBoot使用归纳——Spring Boot中的项目属性配置——指定项目配置文件
在实际项目中,开发环境和生产环境的配置往往不同。为简化配置切换,可通过创建 `application-dev.yml` 和 `application-pro.yml` 分别管理开发与生产环境配置,如设置不同端口(8001/8002)。在 `application.yml` 中使用 `spring.profiles.active` 指定加载的配置文件,实现环境快速切换。本节还介绍了通过配置类读取参数的方法,适用于微服务场景,提升代码可维护性。课程源码可从 [Gitee](https://gitee.com/eson15/springboot_study) 下载。
185 0
|
8月前
|
Java 测试技术 应用服务中间件
Spring Boot 配置文件总结
Spring Boot 提供全局配置文件 `application.properties` 和 `application.yml`,用于修改自动配置的默认值。前者使用键值对配置,后者使用缩进和冒号。不同环境(开发、测试、生产)可切换配置文件,通过 `spring.profiles.active` 指定。例如,开发环境端口为4790,测试环境为4791,生产环境为4792。配置示例展示了属性、List、Map定义及引用方法。
208 14
|
9月前
|
XML Java 数据格式
使用idea中的Live Templates自定义自动生成Spring所需的XML配置文件格式
本文介绍了在使用Spring框架时,如何通过创建`applicationContext.xml`配置文件来管理对象。首先,在resources目录下新建XML配置文件,并通过IDEA自动生成部分配置。为完善配置,特别是添加AOP支持,可以通过IDEA的Live Templates功能自定义XML模板。具体步骤包括:连续按两次Shift搜索Live Templates,配置模板内容,输入特定前缀(如spring)并按Tab键即可快速生成完整的Spring配置文件。这样可以大大提高开发效率,减少重复工作。
使用idea中的Live Templates自定义自动生成Spring所需的XML配置文件格式
|
XML Java API
Spring 依赖注入的方式,你了解哪些?
前言 依赖查找和依赖注入是 Spring 实现 IoC 容器提供的两大特性,相对于依赖查找,Spring 更推崇的是使用依赖注入,本篇先对 Spring 中依赖注入的几种方式进行介绍,后续再分享其实现。
290 0
Spring 依赖注入的方式,你了解哪些?
|
Java 测试技术 开发者
Spring 有哪几种依赖注入方式?官方是怎么建议使用的呢?
IDEA 提示 Field injection is not recommended 在使用IDEA 进行Spring 开发的时候,当你在字段上面使用@Autowired注解的时候,你会发现IDEA 会有警告提示:
371 0
Spring 有哪几种依赖注入方式?官方是怎么建议使用的呢?
|
Java Spring 容器
Spring中IoC两种接口和两种依赖注入方式的比较
spring是一个开源框架,是为了解决企业应用程序开发的复杂性而创建的,为J2EE应用程序开发提供集成的框架。简单来说,spring是一个轻量级的控制反转IOC和面向切面AOP的容器框架。spring框架会对定义在配置文件中的bean实例自动管理,这个bean也就是Java实例,Java组件,spring既可以管理标准的javabean,又可以管理普通的Java组件。   spring
1967 0
|
2月前
|
Java Spring 容器
SpringBoot自动配置的原理是什么?
Spring Boot自动配置核心在于@EnableAutoConfiguration注解,它通过@Import导入配置选择器,加载META-INF/spring.factories中定义的自动配置类。这些类根据@Conditional系列注解判断是否生效。但Spring Boot 3.0后已弃用spring.factories,改用新格式的.imports文件进行配置。
667 0