Java 从控制器在DAO中注入变量

Java 从控制器在DAO中注入变量,java,spring,Java,Spring,我有一些DAO类,它们扩展了“GenericDAO” 泛型dao具有带有getter和setter的LanguageId变量 我从会话中获取语言ID 有什么方法可以直接在genericDAO中设置我的语言ID吗。所以每次我使用dao类时,我不必从我的控制器传递languageId 最后,我想要的是,我应该能够在我的dao对象中getLanguageId()。dao的关键点是它们是无状态的,而会话代表一些有状态的信息。所有有状态的信息都应该通过方法的参数传递给DAO 因此,如果您仍然希望在DAO中

我有一些DAO类,它们扩展了“GenericDAO”

泛型dao具有带有getter和setter的LanguageId变量

我从会话中获取语言ID

有什么方法可以直接在
genericDAO
中设置我的语言ID吗。所以每次我使用dao类时,我不必从我的控制器传递languageId


最后,我想要的是,我应该能够在我的dao对象中
getLanguageId()

dao的关键点是它们是无状态的,而会话代表一些有状态的信息。所有有状态的信息都应该通过方法的参数传递给DAO


因此,如果您仍然希望在DAO中使用getLanguageId(),那么您注定要在每个会话中创建DAO实例,并在创建过程中向其注入languageId。

通常DAO被设置为单实例,因此所有不同的线程只使用一个实例。如果是这种情况,那么您不能为一个用户设置语言,而其他用户可能会受到影响,而将其作为方法参数传入是确保其他线程不会无意中获得错误的语言id的唯一安全方法。因此,您是否可以做您想做的事情取决于DAO的作用域