您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在独立的Java应用程序中使用Spring 3 autowire

在独立的Java应用程序中使用Spring 3 autowire

Spring在独立应用程序中工作。你使用错误的方式来创建Spring bean。这样做的正确方法是:

@Component
public class Main {

    public static void main(String[] args) {
        ApplicationContext context = 
            new ClassPathXmlApplicationContext("Meta-INF/config.xml");

        Main p = context.getBean(Main.class);
        p.start(args);
    }

    @Autowired
    private MyBean myBean;
    private void start(String[] args) {
        System.out.println("my beans method: " + myBean.getstr());
    }
}

@Service 
public class MyBean {
    public String getstr() {
        return "string";
    }
}

在第一种情况下(问题中的那个),你将自己创建对象,而不是从Spring上下文中获取它。因此,Spring没有机会获得Autowire依赖关系(这会导致NullPointerException)。

在第二种情况(此答案中的一种)中,你是从Spring上下文中获取bean的,因此它是Spring托管的,而Spring负责autowiring

java 2022/1/1 18:17:23 有461人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶