弹簧组件扫描不起作用 - java

Spring组件扫描似乎无法正常工作。我正在使用Spring 3.1和tomcat 7.0。

这是我的applicationContext.xml的样子:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
xmlns:tx="http://www.springframework.org/schema/tx" xmlns:cache="http://www.springframework.org/schema/cache"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
            http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
            http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd 
            http://www.springframework.org/schema/cache http://www.springframework.org/schema/cache/spring-cache.xsd
            http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsd">

    <context:annotation-config/> 
    <context:component-scan base-package="com.abc"/>

    <bean id="myBean" class="com.efg.test.MyBean" />
</beans>

我有一个这样的课:

package com.abc.test

@Component
class Test {
    @Autowired
    private static MyBean myBean;

    public static MyBean getMyBean() { return myBean; }
    public static void setMyBean(MyBean bean) { myBean = bean; }
}

我曾预计Test将在Web应用程序启动时由Spring初始化,并且myBean将自动注入,因此,如果我调用Test的任何(静态)方法,我对myBean的引用都不为空。

但是,myBean不会被注入,并且始终为空(myBean本身被初始化为单例,只是不被注入)。我还需要做什么才能使它正常工作?如果我将Test-class添加到applicationContext.xml,则一切正常。我的猜测是Test并未由Spring初始化,因此未连接。

更新:
我需要能够从静态上下文访问自动装配字段(此类的方法称为JSP函数),因此它必须是静态的。

java大神给出的解决方案

Spring的想法是它初始化和配置您的类(即对象)的实例。实际上,这意味着@Autowired不能应用于static字段,因为静态字段不属于任何实例(并且您的访问器方法也不应属于static)。

java:继承 - java

有哪些替代继承的方法? java大神给出的解决方案 有效的Java:偏重于继承而不是继承。 (这实际上也来自“四人帮”)。他提出的理由是,如果扩展类未明确设计为继承,则继承会引起很多不正常的副作用。例如,对super.someMethod()的任何调用都可以引导您通过未知代码的意外路径。取而代之的是,持有对本来应该扩展的类的引用,然后委托给它。这是与Eric…

Java-如何将此字符串转换为日期? - java

我从服务器收到此消息,我不明白T和Z的含义,2012-08-24T09:59:59Z将此字符串转换为Date对象的正确SimpleDateFormat模式是什么? java大神给出的解决方案 这是ISO 8601标准。您可以使用SimpleDateFormat simpleFormat = new SimpleDateFormat("yyyy-MM…

当回复有时是一个对象有时是一个数组时,如何在使用改造时解析JSON回复? - java

我正在使用Retrofit来获取JSON答复。这是我实施的一部分-@GET("/api/report/list") Observable<Bills> listBill(@Query("employee_id") String employeeID); 而条例草案类是-public static class…

java.net.URI.create异常 - java

java.net.URI.create("http://adserver.adtech.de/adlink|3.0") 抛出java.net.URISyntaxException: Illegal character in path at index 32: http://adserver.adtech.de/adlink|3.0 虽然n…

JAVA:如何检查对象数组中的所有对象是否都是子类的对象? - java

我有一个对象数组。现在,我要检查所有这些对象是否都是MyObject的实例。有没有比这更好的选择:boolean check = true; for (Object o : justAList){ if (!(o instanceof MyObject)){ check = false; break; } } java大神给出的解决方案 如果您不喜欢循环,则…