zoukankan      html  css  js  c++  java
  • Spring依赖注入

      IoC(Inversion of Control),即控制反转。它使程序组件或类之间尽量形成一种轻耦合的结构,开发者在使用类的实例之前,需要先创建对象但是IoC将创建实例的任务交给IoC容器,这样开发应用代码时要直接使用类的实例,这就是IoC。相对于IoC,更为准确的概念是依赖注入。

      注入方式有3种:接口注入、Setter注入、构造器注入,Spring支持后俩种。

        接口注入:基于接口将调用与实现分离。这种依赖注入方式必须实现容器所规定的接口,是程序代码和容器的API绑定在一起,这不是理想的依赖注入方式。

        Setter注入:java代码

       
     1  public class User {
     2     private String name;
     3     private String sex;
     4     private int age ;
     5     public String getName() {
     6          return name ;
     7     }
     8     public void setName(String name) {
     9          this.name = name;
    10     }
    11     public String getSex() {
    12          return sex ;
    13     }
    14     public void setSex(String sex) {
    15          this.sex = sex;
    16     }
    17     public int getAge() {
    18          return age ;
    19     }
    20     public void setAge(int age) {
    21          this.age = age;
    22     }
    applicationContext.xml文件:
          
     1   <bean name= "user" class ="edu.sdut.text.User">
     2                <property name= "name">
     3                       <value> 小青</value >
     4                </property>
     5                <property name= "sex">
     6                       <value> 男</ value>
     7                </property>
     8                <property name= "age">
     9                       <value> 19</ value>
    10                </property>
    11         </bean>
    主函数:
     1 public static void main(String[] args) {
     2          // 装载配置文件
     3         Resource resource = new ClassPathResource("applicationContext.xml" );
     4         BeanFactory factory = new XmlBeanFactory(resource);
     5          //获取bean
     6         User user = (User) factory.getBean("user" );
     7          //输出用户信息
     8         System. out.println("用户名:" + user.getName());
     9         System. out.println("年龄:" + user.getAge());
    10         System. out.println("性别:" + user.getSex());
    11     }
    构造器注入:java代码
      
    1 public User(String name,int age,String sex){
    2 this.name = name;
    3 this.age = age;
    4 this.sex = sex;
    5 }

      applicationContext.xml文件:

     1 <bean name="user" class="edu.sdut.text.User">
     2 <constructor-arg>
     3 <value>小柒</value>
     4 </constructor-arg>
     5 <constructor-arg>
     6 <value>18</value>
     7 </constructor-arg>
     8 <constructor-arg>
     9 <value>男</value>
    10 </constructor-arg>
    11 </bean>
  • 相关阅读:
    UVa OJ 148 Anagram checker (回文构词检测)
    UVa OJ 134 LoglanA Logical Language (Loglan逻辑语言)
    平面内两条线段的位置关系(相交)判定与交点求解
    UVa OJ 130 Roman Roulette (罗马轮盘赌)
    UVa OJ 135 No Rectangles (没有矩形)
    混合函数继承方式构造函数
    html5基础(第一天)
    js中substr,substring,indexOf,lastIndexOf,split等的用法
    css的textindent属性实现段落第一行缩进
    普通的css普通的描边字
  • 原文地址:https://www.cnblogs.com/xiaochaozi/p/3365034.html
Copyright © 2011-2022 走看看