http://blog.csdn.net/hemingwang0902/article/details/4733911
http://jackyrong.iteye.com/blog/1330946
在spring 3.0中,可以通过使用@value,对一些如xxx.properties文件
中的文件,进行键值对的注入,例子如下:
中的文件,进行键值对的注入,例子如下:
1 package com.eastcom.intsight.cms.etl.common; 2 3 import org.springframework.beans.factory.annotation.Value; 4 import org.springframework.stereotype.Service; 5 6 @Service 7 public class ParamsConfigure { 8 9 private static String eltTempDataPath; 10 private static String eltTempDataCharset; 11 private static String eltTempDataDelimiter; 12 13 @Value("${elt_temp_data_path}") 14 public void setEltTempDataPath(String eltTempDataPath) { 15 ParamsConfigure.eltTempDataPath = eltTempDataPath; 16 } 17 18 @Value("${elt_temp_data_charset}") 19 public void setEltTempDataCharset(String eltTempDataCharset) { 20 ParamsConfigure.eltTempDataCharset = eltTempDataCharset; 21 } 22 23 @Value("${elt_temp_data_delimiter}") 24 public void setEltTempDataDelimiter(String eltTempDataDelimiter) { 25 ParamsConfigure.eltTempDataDelimiter = eltTempDataDelimiter; 26 } 27 28 public synchronized static String getEltTempDataPath() { 29 return ParamsConfigure.eltTempDataPath; 30 } 31 32 public synchronized static String getEltTempDataCharset() { 33 return ParamsConfigure.eltTempDataCharset; 34 } 35 36 public synchronized static String getEltTempDataDelimiter() { 37 return ParamsConfigure.eltTempDataDelimiter; 38 } 39 40 }
注解@PostConstruct
@Documented
@Retention(value=RUNTIME)
@Target(value=METHOD)
public @interface PostConstruct
PostConstruct 注释用于在依赖关系注入完成之后需要执行的方法上,以执行任何初始化。此方法必须在将类放入服务之前调用。支持依赖关系注入的所有类都必须支持此注释。即使类没有请求注入任何资源,用 PostConstruct 注释的方法也必须被调用。只有一个方法可以用此注释进行注释。应用 PostConstruct 注释的方法必须遵守以下所有标准:该方法不得有任何参数,除非是在 EJB 拦截器 (interceptor) 的情况下,根据 EJB 规范的定义,在这种情况下它将带有一个 InvocationContext 对象 ;该方法的返回类型必须为 void;该方法不得抛出已检查异常;应用 PostConstruct 的方法可以是 public、protected、package private 或 private;除了应用程序客户端之外,该方法不能是 static;该方法可以是 final;如果该方法抛出未检查异常,那么不得将类放入服务中,除非是能够处理异常并可从中恢复的 EJB。