• [心得笔记]spring常用的三种依赖注入方式


    一.目前使用最广泛的 @Autowired:自动装配

    基于@Autowired的自动装配,默认是根据类型注入,可以用于构造器、接口、方法注入,使用方式如下:

    @Autowired
    构造方法、方法、接口
    @Autowired默认是根据参数类型进行自动装配,且必须有一个Bean候选者注入默认required=true,如果允许出现0个Bean候选者需要设置属性“required=false”,“required”属性含义和@Required一样,只是@Required只适用于基于XML配置的setter注入方式,只能打在setting方法上。

    1)、构造器注入:通过将@Autowired注解放在构造器上来完成构造器注入,默认构造器参数通过类型自动装配,如下所示:

     public class Test1 {  
        private MessageInterface message;  
        @Autowired //构造器注入  
        private Test1(MessageInterface message) {  
            this.message = message;  
        }
        //省略getter和setter  
      }
    (2)、接口注入:通过将@Autowired注解放在构造器上来完成接口注入。
     public class Test2 {  
        @Autowired //接口注入  
        private MessageInterface messageInterface;  
        //省略getter和setter  
    } 
    (3)、方法参数注入:通过将@Autowired注解放在方法上来完成方法参数注入。

     
    public class Test3 {  
        private MessageInterface message;  
     
        @Autowired //setter方法注入  
        public void setMessage(MessageInterface message) {  
            this.message = message;  
        }  
        public String getMessage() {  
            return message;  
        }  
    }

    public class Test4 {  
        private MessageInterface message; //
        private List<String> list;  
        @Autowired(required = true) //任意一个或多个参数方法注入  
        private void initMessage(MessageInterface message, ArrayList<String> list) {  
            this.message = message;  
            this.list = list;  
        }  
        //省略getter和setter  
    } 




  • 相关阅读:
    Django项目:CRM(客户关系管理系统)--80--70PerfectCRM实现CRM业务流程(bpm)课程排行分页
    Django项目:CRM(客户关系管理系统)--79--69PerfectCRM实现CRM业务流程(bpm)学生讲师分页
    Django项目:CRM(客户关系管理系统)--78--68PerfectCRM实现CRM业务流程(bpm)报名缴费分页
    Django项目:CRM(客户关系管理系统)--77--67PerfectCRM实现CRM课程出勤排名
    Django项目:CRM(客户关系管理系统)--76--66PerfectCRM实现CRM课程作业排名
    mvc 过滤器
    join 和子查询优化
    发布mvc遇到的HTTP错误 403.14-Forbidden解决办法
    获取post传输参数
    iis url 重写
  • 原文地址:https://www.cnblogs.com/bangiao/p/12418376.html
Copyright © 2020-2023  润新知