• Spring框架IoC和传统bean调用的区别


    传统方式:通过接口访问对象必须经过实例化,这样就必然增加了代码之间的耦合度,而其调用时必须了解接口实现类中定义的内容,同时不同意对生成的对象进行管理。

    容器管理方式:当程序中用到该对象时,依赖容器进行实例化。实现方法调用是只须参考接口中实现的方法。当对象实例后通过容器提供的方法,对生成的对象进行管理,使用完毕后将对该实例对象进行消除。

    Spring依赖注入的方式有三种:接口注入、设置属性注入、构造方法注入。

    构造方法注入,在构造期间即创建一个完整、合法的对象。避免了繁琐的setter方法。

    设置属性注入,通过setter方法设定依赖关系。这种方式简单直观,因而在Spring的注入里大量使用。下面举个例子。

     1 public class Person {
     2     public String name;
     3     public String password;
     4     public boolean islogin;
     5     
     6     public void setName(String name){
     7         this.name = name;
     8     }
     9     public void setPassword(String password){
    10         this.password = password;
    11     }
    12     public void setChock(boolean islogin){
    13         this.islogin = islogin;
    14     }
    15 }
    1 public class Factory {
    2     public static void main(String[] args) {
    3         XmlBeanFactory bFactory = new XmlBeanFactory(new ClassPathResource(
    4                 "Spring.xml"));
    5         Person person = (Person) bFactory.getBean("person");
    6         System.out.println("姓名:" + person.name + "  密码:" + person.password
    7                 + "  状态:" + person.islogin);
    8     }
    9 }

    Spring.xml

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <beans
     3     xmlns="http://www.springframework.org/schema/beans"
     4     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     5     xmlns:p="http://www.springframework.org/schema/p"
     6     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
     7 
     8     <bean id="person" class="com.lihui.Person">
     9         <property name="name" value="张三"></property>
    10         <property name="password" value="hello"></property>
    11         <property name="chock" value="true"></property>
    12     </bean>
    13 </beans>
  • 相关阅读:
    iperf简单说明
    计算后图像大小参数计算
    ipywidgets安装报错
    Cannot uninstall [pacakage]. It is a distutils installed project
    torch
    es-centos7安装注意细节
    jupyter 指定特定的环境
    未来方向
    深度学习过拟合处理
    归一化
  • 原文地址:https://www.cnblogs.com/lihuiyy/p/2507361.html
Copyright © 2020-2023  润新知