【问题标题】:How can I have access to the same object from different classes如何从不同的类访问同一个对象
【发布时间】:2018-12-27 10:36:46
【问题描述】:

如何从多个类访问同一个对象?

我正在使用窗口构建器制作一个用于书店管理的 Java 应用程序,有不同类型的用户,每个用户都有不同的面板。

我需要访问类 bookStore 的更新对象(例如)以访问更新的图书列表、用户列表,以便我可以在其上添加或更改。 我看了一下单例设计模式,但我不知道我是否可以在这种情况下使用它。我应该使用它吗?如果是这样,有什么缺点吗?

还有其他方法吗?

【问题讨论】:

    标签: java class singleton instance windowbuilder


    【解决方案1】:

    是的,您可以为此使用单例。最简单的方法是使用Spring,在 Application 类中将 BookStore 声明为 Bean:

    @Bean
    public BookStore getBookStore(){
      return new BookStore();
    }
    

    然后,在您需要引用它的每个类中,将您的 bookStore 声明为 @Autowired 对象,以便 Spring 自动找到您的 BookStore 单例并注入它。例如:

    @Service
    public class BookService {
    
      @Autowired
      private BookStore bookStore; //This variable will reference your BookStore singleton.
    
      public List<Book> getBooksFromStore(){
        return bookStore.getBooks();
      }
    
    }
    

    您可以在此处了解有关 Spring 的更多信息: https://www.baeldung.com/spring-tutorial

    这只是一个示例,因此您可以了解单例,但在实际场景中,您应该使用数据库来保存数据,因为单例只会保存数据,直到您的应用程序停止执行。

    【讨论】:

      猜你喜欢
      • 2022-11-01
      • 1970-01-01
      • 2018-03-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-06
      • 1970-01-01
      • 2015-10-01
      相关资源
      最近更新 更多