• Spring框架中的依赖注入


      依赖注入(DI : Dependency Injection)是基于.xml配置文件内节点的书写。

      注入类型:

          1.设置注入,调用了Bean的setXXX()进行值注入

       普通属性(value值表示要显示的字符串)

        <property name="name" value="托尼"></property>
        <property name="age" value="20"></property>

       域属性(ref属性指向的是普通属性的name值)

        <property name="myCar" ref="name"></property>

       构造注入

        <bean id="stu2" class="cn.tony.entity.Student">

          <constructor-arg index="0" value="托尼"></constructor-arg>
          <constructor-arg index="1" value="20"></constructor-arg>
          <constructor-arg index="2" ref="mmCar"></constructor-arg>
        </bean>

       命名空间p注入(p:name对应实体类中的name属性。如,p:info对应了User实体类中的info属性):

         使用p命名空间进行改进配置,注意使用前要先添加p命名空间的声明。

           xmlns:p="http://www.springframework.org/schema/p"

          在.xml中书写如下:

         <!-- p标签注入 -->

         <bean id="stu3" class="cn.tony.entity.User"
          p:name="国庆放假买手机" p:info="100块">
         </bean>

      使用注解进行注入:

        在.xml中添加context命名空间的声明

          xmlns:context="http://www.springframework.org/schema/context" 

        配置如下节点

          <!--  base-package指向的是包文件,实体类包  -->

          <context:component-scan base-package="cn.tony.entity">

          </context:component-scan>

        在entity包下的UserInfo实体类中书写如下:

     1 <!--  Component相当于Bean的id属性  -->
     2       @Component("info")
     3       public class UserInfo {
     4       @Value("yellow")
     5       private String color;
     6 
     7       public String getColor() {
     8         return color;
     9       }
    10 
    11       public void setColor(String color) {
    12         this.color = color;
    13       }
    14 
    15       }
    UserInfo实体类
  • 相关阅读:
    排序算法与数据结构复习总结
    Kafka知识总结及面试题
    深入理解Redis系列之事务
    深入理解Redis系列之持久化
    基于数据库、redis和zookeeper实现的分布式锁
    深入理解MySQL系列之优化
    Mysql-主从复制(Docker)
    Mysql-GTID主从复制
    Ansible基础
    Nginx + php-fpm源码编译
  • 原文地址:https://www.cnblogs.com/Tony-cheen/p/5944833.html
Copyright © 2020-2023  润新知