普通静态类方法获取Spring注入的Been实体

来源:互联网 发布:按键精灵 js 插件 编辑:程序博客网 时间:2024/05/17 19:59

原本想要在静态方法中获取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 : {} */@Controllerpublic class Dev_InfoController {@Resourcepublic TemplateManager<DevInfo> templateManager;private static Dev_InfoController dev_infoController;/** * 构造方法执行后调用 init() */@PostConstructpublic 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 ,   然后在静态方法 Add_DevInfo(DevInfo devinfo)调用了  templateManager 


不了解@PostConstruct @PreDestroy的同学,可以看下面一篇文章:

注解@PostConstruct与@PreDestroy讲解及实例

1 0
原创粉丝点击