小编ami*_*mit的帖子

在Spring 4.2中注入静态变量

我只是试图在Spring 4.2中测试静态变量的注入.正如我在阅读教程时那样,使用了Spring 2.0.在该教程中,如果按如下方式完成:

public class Car {
    private static String carName;

    public static void setCarName(String carName) {
        Car.carName = carName;
    }

    public static void printCar(){
        System.out.println("Car name is: " + carName);
    }
}
Run Code Online (Sandbox Code Playgroud)

我的xml文件是:

<beans>
    <bean id="c" class="beans.Car">
        <property name="carName" value="Audi"/>
    </bean> 
</beans>
Run Code Online (Sandbox Code Playgroud)

我的课程测试它是:

public class Client {
    public static void main(String[] args) {
        ApplicationContext ap= new ClassPathXmlApplicationContext("resources/spring.xml");
        Car car= (Car)ap.getBean("c");
        car.printCar();
    }
}
Run Code Online (Sandbox Code Playgroud)

上面的代码在与Spring 2.0一起使用时抛出错误(如我正在阅读的教程中所示).但是,如果我在Spring 4.2中尝试相同的代码,它没有显示任何错误,代码工作正常.行为的差异为什么?Spring是否会在较新版本中对静态变量的注入进行任何更改?所以我的问题是我们可以直接进行如下所示的静态变量DI吗?

java spring

2
推荐指数
1
解决办法
250
查看次数

标签 统计

java ×1

spring ×1