`
esffor
  • 浏览: 1367462 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Spring高级注入之Method值注入

阅读更多

有两种用法,一种是直接吧方法的返回值注入到实例的属性,二是用返回值定义成Bean

定义实体:

 

package Bean.superIOCmethod;

public class Person ...{
   
private Son son;
   
private String age;
public String getAge() ...{
    
return age;
}

public void setAge(String age) ...{
    
this.age = age;
}

public Son getSon() ...{
    
return son;
}

public void setSon(Son son) ...{
    
this.son = son;
}

}



package Bean.superIOCmethod;

public class Son ...{
  
private String age;

public String getAge() ...{
    
return age;
}


public void setAge(String age) ...{
    
this.age = age;
}

}
 
package Bean.superIOCmethod;
public class Field {
   public static final String TEST_FIELD="welcom";
   public String getValue(){
    return "test";
   }
   public static String getStaticValue(){
    return "static test";
   }
}


配置文件:

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

<beans>
  
<!-- 非静态方法,使用targetObject -->
  
<bean id="son" class="Bean.superIOCmethod.Son">
     
<property name="age">
       
<bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
          
<property name="targetObject">
              
<ref local="value"/>
          
</property>
          
<property name="targetMethod">
             
<value>getValue</value>
          
</property>
       
</bean>
     
</property>
  
</bean>
   
<!-- 静态方法,无需使用targetObject,但要配置targetClass -->
  
<bean id="staticson" class="Bean.superIOCmethod.Son">
     
<property name="age">
       
<bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
          
<property name="targetClass">
            
<value>Bean.superIOCmethod.Field</value>
          
</property>
          
<property name="targetMethod">
             
<value>getStaticValue</value>
          
</property>
       
</bean>
     
</property>
  
</bean>
  
  
<!-- 将方法返回值定义成Bean -->
  
<bean id="sysProps" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
       
<property name="targetClass">
         
<value>java.lang.System</value>
       
</property>
       
<property name="targetMethod">
         
<value>getProperties</value>
       
</property>
   
</bean>
   
   
<bean id="javaversion" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
      
<property name="targetObject">
        
<ref local="sysProps"/>
      
</property>
      
<property name="targetMethod">
        
<value>getProperty</value>
      
</property>
      
<property name="arguments"> 
         
<list>
           
<value>java.version</value>
         
</list>
      
</property>
   
</bean>
  
<bean id="value" class="Bean.superIOCmethod.Field">
  
</bean>
</beans>

测试代码: 

public static void main(String[] args) throws Exception ...{
        
        String path
=new Test().getClass().getResource("/").getPath();
        String realpath
=path.substring(1, path.length());
        ApplicationContext context
=new FileSystemXmlApplicationContext(realpath+"/superIOCmethod.xml");
        Son son1
=(Son)context.getBean("son");
        Son son2
=(Son)context.getBean("staticson");
        
        
        System.out.println(
"person age is:"+son1.getAge());
        System.out.println(
"person age is:"+son2.getAge());
        System.out.println(context.getBean(
"sysProps"));
        System.out.println(context.getBean(
"javaversion"));
 }

 

 

person age is:test
person age is:static test


{java.runtime.name=Java(TM) 2 Runtime Environment, Standard Edition, sun.boot.library.path=D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\jre\bin, java.vm.version=1.5.0_08-b03, java.vm.vendor=Sun Microsystems Inc., java.vendor.url=http://java.sun.com/, path.separator=;, java.vm.name=Java HotSpot(TM) Client VM, file.encoding.pkg=sun.io, user.country=CN, sun.os.patch.level=Service Pack 2, java.vm.specification.name=Java Virtual Machine Specification, user.dir=E:\my\TestSpring, java.runtime.version=1.5.0_08-b03, java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment, java.endorsed.dirs=D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\jre\lib\endorsed, os.arch=x86, java.io.tmpdir=C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\, line.separator=
, java.vm.specification.vendor=Sun Microsystems Inc., user.variant=, os.name=Windows XP, sun.jnu.encoding=GBK, java.library.path=D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\jre\bin;.;C:\WINDOWS\system32;C:\WINDOWS;d:\sybase\CFG-1_0\bin;d:\sybase\OCS-12_5\dll;d:\sybase\OCS-12_5\lib3p;d:\sybase\OCS-12_5\bin;d:\sybase\ASE-12_5\dll;d:\sybase\ASE-12_5\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;d:\Program Files\Sybase\SQL Anywhere 8\win32;d:\Program Files\Sybase\Shared\win32;d:\Program Files\Sybase\Shared\Sybase Central 4.1;d:\Program Files\Sybase\PowerDynamo\win32;d:\Program Files\Sybase\Shared\PowerBuilder;d:\Program Files\Sybase\InfoMaker 9.0\Tutorial;d:\Program Files\Sybase\Shared\Web Targets;;d:\sybase\SQLRemote\dll;D:\Program Files\Rational\common;D:\java\jdk1.4\bin, java.specification.name=Java Platform API Specification, java.class.version=49.0, sun.management.compiler=HotSpot Client Compiler, os.version=5.1, user.home=C:\Documents and Settings\Administrator, user.timezone=Asia/Shanghai, java.awt.printerjob=sun.awt.windows.WPrinterJob, file.encoding=GBK, java.specification.version=1.5, java.class.path=E:\my\TestSpring\WebRoot\WEB-INF\classes;E:\my\TestSpring\WebRoot\WEB-INF\lib\jstl.jar;E:\my\TestSpring\WebRoot\WEB-INF\lib\standard.jar;D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.springframework_5.1.0\data\1.2\lib\spring-core.jar;D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.springframework_5.1.0\data\1.2\lib\spring-beans.jar;D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.springframework_5.1.0\data\1.2\lib\spring-context.jar;D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.springframework_5.1.0\data\1.2\lib\dependencies\jakarta-commons\commons-attributes-api.jar;D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.springframework_5.1.0\data\1.2\lib\dependencies\jakarta-commons\commons-attributes-compiler.jar;D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.springframework_5.1.0\data\1.2\lib\dependencies\jakarta-commons\commons-beanutils.jar;D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.springframework_5.1.0\data\1.2\lib\dependencies\jakarta-commons\commons-collections.jar;D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.springframework_5.1.0\data\1.2\lib\dependencies\jakarta-commons\commons-digester.jar;D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.springframework_5.1.0\data\1.2\lib\dependencies\jakarta-commons\commons-lang.jar;D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.springframework_5.1.0\data\1.2\lib\dependencies\jakarta-commons\commons-logging.jar;D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.springframework_5.1.0\data\1.2\lib\dependencies\dom4j\dom4j-1.6.jar;D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.springframework_5.1.0\data\1.2\lib\dependencies\dom4j\jaxen-1.1-beta-4.jar;D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.springframework_5.1.0\data\1.2\lib\dependencies\log4j\log4j-1.2.13.jar;D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.springframework_5.1.0\data\1.2\lib\spring-aop.jar;D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.springframework_5.1.0\data\1.2\lib\dependencies\cglib\cglib-nodep-2.1_3.jar;D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.springframework_5.1.0\data\1.2\lib\spring-dao.jar;D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.springframework_5.1.0\data\1.2\lib\spring-hibernate.jar;D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.springframework_5.1.0\data\1.2\lib\spring-jdbc.jar;D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.springframework_5.1.0\data\1.2\lib\spring-orm.jar;D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.springframework_5.1.0\data\1.2\lib\dependencies\antlr\antlr-2.7.5H3.jar;D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.springframework_5.1.0\data\1.2\lib\dependencies\jakarta-commons\commons-dbcp.jar;D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.springframework_5.1.0\data\1.2\lib\dependencies\jakarta-commons\commons-pool.jar;D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.springframework_5.1.0\data\1.2\lib\dependencies\c3p0\c3p0-0.9.0.4.jar;D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.springframework_5.1.0\data\1.2\lib\dependencies\ehcache\ehcache-1.1.jar;D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.springframework_5.1.0\data\1.2\lib\dependencies\hibernate\hibernate3.jar;D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.springframework_5.1.0\data\1.2\lib\dependencies\hibernate\hibernate-annotations.jar;D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.springframework_5.1.0\data\1.2\lib\dependencies\ibatis\ibatis-sqlmap.jar;D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.springframework_5.1.0\data\1.2\lib\dependencies\ibatis\ibatis-sqlmap-2.jar;D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.springframework_5.1.0\data\1.2\lib\dependencies\ibatis\ibatis-common-2.jar;D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.springframework_5.1.0\data\1.2\lib\dependencies\jdo\jdo2.jar;D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.springframework_5.1.0\data\1.2\lib\dependencies\jotm\jotm.jar;D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.springframework_5.1.0\data\1.2\lib\dependencies\jotm\xapool.jar;D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.springframework_5.1.0\data\1.2\lib\dependencies\ojb\db-ojb-1.0.4.jar;D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.springframework_5.1.0\data\1.2\lib\dependencies\toplink\toplink-api.jar;D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.springframework_5.1.0\data\1.2\lib\spring-web.jar;D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.springframework_5.1.0\data\1.2\lib\spring-webmvc.jar;D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.springframework_5.1.0\data\1.2\lib\dependencies\cos\cos.jar;D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.springframework_5.1.0\data\1.2\lib\dependencies\jakarta-commons\commons-fileupload.jar;D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.springframework_5.1.0\data\1.2\lib\dependencies\jakarta-commons\commons-httpclient.jar;D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.springframework_5.1.0\data\1.2\lib\dependencies\oro\jakarta-oro-2.0.8.jar;D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.springframework_5.1.0\data\1.2\lib\dependencies\velocity\velocity-1.4.jar;D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.springframework_5.1.0\data\1.2\lib\dependencies\velocity\velocity-tools-generic-1.2.jar;D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.springframework_5.1.0\data\1.2\lib\dependencies\velocity\velocity-tools-view-1.2.jar;D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.springframework_5.1.0\data\1.2\lib\dependencies\freemarker\freemarker.jar;D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.springframework_5.1.0\data\1.2\lib\dependencies\itext\itext-1.3.jar;D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.springframework_5.1.0\data\1.2\lib\dependencies\jasperreports\jasperreports-1.0.3.jar;D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.springframework_5.1.0\data\1.2\lib\dependencies\poi\poi-2.5.1.jar;D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.springframework_5.1.0\data\1.2\lib\dependencies\jexcelapi\jxl.jar, user.name=Administrator, java.vm.specification.version=1.0, java.home=D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\jre, sun.arch.data.model=32, user.language=zh, java.specification.vendor=Sun Microsystems Inc., awt.toolkit=sun.awt.windows.WToolkit, java.vm.info=mixed mode, java.version=1.5.0_08, java.ext.dirs=D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\jre\lib\ext, sun.boot.class.path=D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\jre\lib\rt.jar;D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\jre\lib\i18n.jar;D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\jre\lib\sunrsasign.jar;D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\jre\lib\jsse.jar;D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\jre\lib\jce.jar;D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\jre\lib\charsets.jar;D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\jre\classes;D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.j2eedt.core_5.1.0\data\libraryset\1.4\activation.jar;D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.j2eedt.core_5.1.0\data\libraryset\1.4\javax.servlet.jar;D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.j2eedt.core_5.1.0\data\libraryset\1.4\javax.servlet.jsp.jar;D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.j2eedt.core_5.1.0\data\libraryset\1.4\jboss-j2ee.jar;D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.j2eedt.core_5.1.0\data\libraryset\1.4\jboss-jaxrpc.jar;D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.j2eedt.core_5.1.0\data\libraryset\1.4\jboss-jsr77.jar;D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.j2eedt.core_5.1.0\data\libraryset\1.4\jboss-saaj.jar;D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.j2eedt.core_5.1.0\data\libraryset\1.4\mail.jar;D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.j2eedt.core_5.1.0\data\libraryset\1.4\namespace.jar;D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.j2eedt.core_5.1.0\data\libraryset\1.4\xml-apis.jar, java.vendor=Sun Microsystems Inc., file.separator=\, java.vendor.url.bug=http://java.sun.com/cgi-bin/bugreport.cgi, sun.io.unicode.encoding=UnicodeLittle, sun.cpu.endian=little, sun.desktop=windows, sun.cpu.isalist=pentium_pro+mmx pentium_pro pentium+mmx pentium i486 i386 i86}


1.5.0_08



分享到:
评论

相关推荐

    Spring注解注入属性

    ### Spring注解注入属性 #### 一、传统方式与注解方式对比 在Spring框架中,依赖注入(DI)是一种核心的设计模式,用于促进松耦合的系统设计,使得组件之间的依赖关系可以在运行时动态地建立,而不是在编译时硬...

    Spring依赖注入使用实例工厂设注入demo

    总结,Spring的实例工厂方法注入是一种高级的依赖注入方式,它可以让你在不直接修改bean定义的情况下,通过外部工厂方法控制bean的实例化。这在实际开发中,特别是对于那些需要动态行为或者复杂初始化逻辑的对象,是...

    如何实现Spring依赖注入 AOP.rar

    Spring框架是Java开发中广泛应用的一个轻量级容器,它的核心特性是依赖注入(Dependency Injection,简称DI)和面向切面编程(Aspect Oriented Programming,简称AOP)。这两个特性极大地简化了Java应用程序的开发和...

    在springboot中使用注解将值注入参数的操作

    Spring Boot 中使用注解将值注入参数的操作 Spring Boot 框架提供了强大的注解机制,允许开发者使用注解将值注入参数,从而简化代码编写和维护。本文将介绍如何在 Spring Boot 中使用注解将值注入参数,主要涵盖了...

    spring-实例工厂注入

    在Spring框架中,实例工厂注入是一种创建对象的方式,它允许我们通过自定义的工厂方法来控制对象的实例化过程。这种方式对于那些初始化过程复杂或者需要特殊处理的对象特别有用。下面我们将详细探讨Spring中的实例...

    Spring三种注入方式(二)

    我们将深入探讨setter注入,这是Spring中最常见的注入方式之一。 ### 一、setter注入 setter注入是通过Spring容器调用对象的setter方法来设置依赖关系。以下是一个简单的示例: ```java public class UserService...

    Java反射、泛型和注解实战之Spring核心注入IOC的实现

    例如,`@Component`、`@Service`、`@Repository`和`@Controller`用于标记组件,`@Autowired`用于自动装配依赖,`@Qualifier`用于指定特定的bean,`@Value`用于注入值,`@Scope`定义bean的作用域等。 实现类似Spring...

    Spring高级篇二.pdf

    ### Spring高级知识点解析 #### 一、Spring IOC与DI的理解及其区别 - **IoC (Inversion of Control)**: IoC是一种设计原则,其核心思想是“控制反转”,即将对象的创建过程从代码中分离出来,交给外部容器来管理。...

    Spring依赖注入使用静态工厂设注入demo

    在Spring框架中,依赖注入(Dependency Injection,DI)是一种核心设计模式,它使得对象之间的依赖关系得以解耦,提高了代码的可测试性和可维护性。本篇将详细讲解如何使用静态工厂方法进行依赖注入,结合提供的...

    Spring中的方法注入

    依赖注入是Spring框架的核心特性之一,它旨在减少代码之间的耦合。DI允许我们通过外部容器来管理对象的依赖关系,而不是由对象自己去寻找或创建依赖。这有助于提高代码的可测试性、可维护性和灵活性。 2. **方法...

    spring工厂属性注入

    // someDependency是已经由Spring注入的依赖 return businessObject; } ``` 通过这种方式,即使对象的创建涉及到复杂的逻辑,Spring也能通过工厂bean进行控制并管理对象的生命周期,同时保持属性注入的能力。在...

    spring注解注入示例详解-(三)

    在Spring框架中,注解注入是一种非常重要的依赖注入方式,它允许开发者在不编写XML配置文件的情况下,通过在类的属性上添加特定的注解来完成对象的实例化和依赖关系的绑定。本文将深入探讨Spring注解注入的原理、...

    基于Spring boot @Value 注解注入属性值的操作方法

    在Spring Boot应用中,`@Value`注解是用于注入属性值的重要工具,它可以方便地从配置文件或者非配置文件中获取数据,并将其赋值给字段或者方法参数。本篇文章将详细阐述`@Value`注解的使用方法,包括如何注入配置...

    特殊情况(ActionForm,Servlet, Filter, Listener)下Spring如何注入对象

    在Spring框架中,依赖注入(Dependency Injection,DI)是一种核心特性,它允许对象之间的依赖关系在运行时由Spring容器管理,而不是由代码直接创建。在SSH(Struts、Hibernate、Spring)整合的Web应用中,Spring的...

    spring注入web端校验类

    标题中的“spring注入web端校验类”指的是在Spring框架中,如何将验证逻辑整合到Web应用程序中,以便对用户输入的数据进行有效性检查。在Web应用中,数据验证是至关重要的,可以防止非法数据进入系统,确保数据的...

    知识共享-spring属性注入(雷惊风).

    在Spring中,属性注入(Property Injection)是一种常用的依赖注入方式,它可以通过字段(Field)或方法(Method)来实现。 ### 1. Field值的注入 Field值的注入,即直接将值注入到类的成员变量中,这在Spring中...

    模拟spring的xml配置文件注入

    例如,我们可以使用`Class.forName(className)`加载类,`newInstance()`创建对象,`Field`类获取并设置属性值,以及`Method`类调用setter方法。 模拟Spring的XML配置文件注入,还需要实现一个Bean工厂类,它负责...

Global site tag (gtag.js) - Google Analytics