zoukankan      html  css  js  c++  java
  • [原]spring学习笔记6.补遗2

    对于testInjection2()方法;
    我们执行的效果是:
    1sdfs2008/03/06
    2一旦注入就会打印.我是bean1的setInt方法
    3bean2.bean3.id=10
    4bean2.bean3.name=这个在公共中有定义值.如果bean3中再定义.则以bean3覆盖原来的配置内容
    5bean2.bean3.password=1235
    6bean2.bean4.id=10
    7bean2.bean4.name=tom
    8bean2.bean5.age=10
    第一行是编辑器中的打印
    第二行是bean1中intsetter中的打印
    第三行开始是配置文件中的注入
    xml配置文件中配置.
    可以发现,spring会将配置文件中的东西一起全部注入.而不管这个是否有被用到.
    testInjection2()方法根本没有用到Bean1的settintvalue方法和时间编辑器.

    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    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd" 
    6default-lazy-init="false">
    其中 default-lazy-init="false" 是默认就为false的. 假如我们设置为true.
    则重新运行testInjection2()方法效果如下:
    1bean2.bean3.id=10
    2bean2.bean3.name=这个在公共中有定义值.如果bean3中再定义.则以bean3覆盖原来的配置内容
    3bean2.bean3.password=1235
    4bean2.bean4.id=10
    5bean2.bean4.name=tom
    6bean2.bean5.age=10
    结果,与其无关的不会打印.
    说明只初始了与testInjection2()方法相关的东西.
    结论: spring默认将配置文件中描述的所有依赖关系注入.(延迟默认为false)
    注意:配置文件中设置lazy为true.只对该配置文件起作用.对其他配置文件没有效果
  • 相关阅读:
    读《大道至简—编程的精义》有感
    c++ 指针做为参数和返回值
    c++ 函数
    c++ 分配与释放内存
    c++ 以多维数组的形式访问动态内存
    c++ 动态数组,指针与动态内存分配
    c++ 指针访问数组
    c++ 常量指针
    c++ 指针
    c++ 字符串转换
  • 原文地址:https://www.cnblogs.com/redcoatjk/p/3562432.html
Copyright © 2011-2022 走看看