首页 文章

在Spring 4中使用“singleton”的正确方法是什么?

提问于
浏览
0

我有一个java文件“DatabaseMan.java”,它可以帮助连接到数据库并连接帮助程序函数 . 我怎样才能使它在我的spring应用程序的生命周期中创建一次,并且我可以在其他每个资源类中调用其方法“getAllRows”?

我应该在我的Application.java中声明一个bean,还是在我的“DatabaseMan”类中使用某种注释来表明它是“可注入的”/“可重用的”?

我看到以下Spring3示例:http://www.mkyong.com/spring3/spring-3-javaconfig-example/

问题是,我是否必须在每个资源中包含它:

ApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class);
HelloWorld obj = (HelloWorld) context.getBean("helloBean");
 obj.printHelloWorld("Spring3 Java Config");

在Spring 4中有更好的方法来获得更少的代码和更多注释的“HelloWorld”吗?

1 回答

  • 0

    请记住, ApplicationContext 是一个容器来管理所有bean及其相互依赖关系 . 它是您的应用程序的入口点 . 设置完成后,所有托管对象都会链接起来并准备就绪 .

    在Spring 4中,有更好的方法可以使用更少的代码和更多的注释来访问“HelloWorld”吗?

    这取决于你想要的地方 . 如果你想从 ApplicationContext 之外获得它,那么你需要做你做的事情 . 如果你想进入另一个bean,只需注入它, ApplicationContext 将完成其余的工作 .

    @Component
    class SomeOtherBean {
        @Autowired
        private HelloWorld helloWorldBean;
    
        // do something with it
    }
    

相关问题