Spring中如何用注解的方式对有参构造器进行注入

一、我,,,无法对有参构造函数进行注入,但是可通过另一种注解方式达到相同效果(目的);

@Component        /**①spring注解模式*/
public class ClassName {
	
    @Value("${file.value}")    //引用属性文件变量值   /**② 属性文件注入*/
    String paramName;    //(把它看成构造函数的“参数”,Ps:其实它就是类成员变量,^_^;)
	
    @PostConstruct
    private void construct() {    //通过@PostConstruct的必须执行,把它假装看成一个构造函数
        paramName = "";    //随便对“构造函数”的“参数”进行操作,
        //...                          
    }

}

1.application-context.xml的配置:

     ①启动spring注解,且扫描其所在包,②属性文件注入;

	
    
    
    

      
       

2.属性文件配置:

file.value="pramaValue"

3.创建项目文件截图:

 

图片正在加载中。。。

 

^_^ 

二、当然了,如果非要给构造器写入参数,也是可以的;不过,得使用关键字@Autowired,并在application-context.xml文件中创建构造器参数的bean了,麻烦死了这个(如果这个参数的数据类型 是 基本数据类型/包装类的话)

@Component        /**①spring注解模式*/
public class ClassName {
	
    @Autowired
    public void construct(String paramName) {    //通过@PostConstruct的必须执行,把它假装看成一个构造函数
        paramName = "";    //随便对“构造函数”的“参数”进行操作,
        //...                          
    }

}

那么此时,.xml文件中还应该为参数paramName创建bean(PS:有个参数就应创建几个bean);

    
        
       
    

三、构造函数参数注入标配版:

@Component        /**①spring注解模式*/
public class ClassName {
	
    public construct(String paramName) {    //通过@PostConstruct的必须执行,把它假装看成一个构造函数
        paramName = "";    //随便对“构造函数”的“参数”进行操作,
        //...                          
    }

}

那么此时,.xml文件中还应该为参数paramName创建bean;

	
		
	

 

你可能感兴趣的:(JavaWeb开发基础,spring,有参构造函数注入,annotation注解模式)