原本想要在静态方法中获取Spring注解后的Been,发现给Been字段添加static关键字后,启动tomcat报错-------错误大意是说静态字段不能注解。
然后google下,解决方法如下:
package com.sondon.dev_info.controller;
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
import javax.annotation.Resource;
import org.springframework.stereotype.Controller;
import com.sondon.dev_info.entity.DevInfo;
import com.sondon.dev_info.service.TemplateManager;
/**
* @Project : Dev_Info_Web
* @Package : com.sondon.dev_info.controller
* @Class : Dev_Info.java
* @Company 广州讯动网络科技有限公司
* @Author : 蔡文锋
* @DateTime:2015年4月24日 下午1:39:58
* @Blog:http://blog.csdn.net/caiwenfeng_for_23
* @Description : {}
*/
@Controller
public class Dev_InfoController {
@Resource
public TemplateManager<DevInfo> templateManager;
private static Dev_InfoController dev_infoController;
/**
* 构造方法执行后调用 init()
*/
@PostConstruct
public void init() {
System.out.println("I'm init method using @PostConstrut....");
dev_infoController = this;
dev_infoController.templateManager = this.templateManager;
}
/**
* servlet销毁前调用dostory()
*/
@PreDestroy
public void dostory(){
System.out.println("I'm destory method using @PreDestroy.....");
}
public static void Add_DevInfo(DevInfo devinfo) {
// boolean result=false;
dev_infoController.templateManager.add(devinfo);
// return result;
}
/**
* @param templateManager
* the templateManager to set
*/
public void setTemplateManager(TemplateManager<DevInfo> templateManager) {
this.templateManager = templateManager;
}
}
不了解@PostConstruct @PreDestroy的同学,可以看下面一篇文章:
注解@PostConstruct与@PreDestroy讲解及实例
原文地址:http://blog.csdn.net/caiwenfeng_for_23/article/details/45249717