在web.xml中配置一个启动servlet的方法,
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>,先加载Springmvc的注解,然后再启动我的方法, <servlet>
<servlet-name>TimeTaskStart</servlet-name>
<servlet-class>com.cpsdna.monitor.timetaskstart.TimeTaskStart</servlet-class>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>TimeTaskStart</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>,load-on-startup为2,TimeTaskStart.java中init方法 public void init() throws ServletException {
// TODO Auto-generated method stub
super.init();
service = Executors.newScheduledThreadPool(1);
long initialDelay = 0;
long period = 60;
ServiceAndAppMonitor serviceAndAppMonitor = new ServiceAndAppMonitor();
service.scheduleAtFixedRate(serviceAndAppMonitor, initialDelay, period, TimeUnit.SECONDS);
},ServiceAndAppMonitor 目前是new,这样new 的话,ServiceAndAppMonitor.java中的@Controller
public class ServiceAndAppMonitor implements Runnable{
@Autowired
private GatewayConfigService gatewayConfigService;
System.out.println("gatewayConfigService:"+gatewayConfigService);,里面的bean为null,说明没有注入进来,应该是servlet中是对ServiceAndAppMonitor 进行new ,而不是进行注解,那我如何在TimeTaskStart中对ServiceAndAppMonitor不new对象,而进行的注解呢?求助!
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>,先加载Springmvc的注解,然后再启动我的方法, <servlet>
<servlet-name>TimeTaskStart</servlet-name>
<servlet-class>com.cpsdna.monitor.timetaskstart.TimeTaskStart</servlet-class>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>TimeTaskStart</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>,load-on-startup为2,TimeTaskStart.java中init方法 public void init() throws ServletException {
// TODO Auto-generated method stub
super.init();
service = Executors.newScheduledThreadPool(1);
long initialDelay = 0;
long period = 60;
ServiceAndAppMonitor serviceAndAppMonitor = new ServiceAndAppMonitor();
service.scheduleAtFixedRate(serviceAndAppMonitor, initialDelay, period, TimeUnit.SECONDS);
},ServiceAndAppMonitor 目前是new,这样new 的话,ServiceAndAppMonitor.java中的@Controller
public class ServiceAndAppMonitor implements Runnable{
@Autowired
private GatewayConfigService gatewayConfigService;
System.out.println("gatewayConfigService:"+gatewayConfigService);,里面的bean为null,说明没有注入进来,应该是servlet中是对ServiceAndAppMonitor 进行new ,而不是进行注解,那我如何在TimeTaskStart中对ServiceAndAppMonitor不new对象,而进行的注解呢?求助!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货