Spring boot 在Spring引导中,会话作用域和全局会话作用域之间有什么区别?
我正在开发我的第一个Spring Boot应用程序,我想我忘了在我的项目中添加范围。 我的项目中有SpringWeb、SpringSecurity、SpringData和Thymeleaf 当一个用户登录到应用程序时,它以他的属性开始,但当另一个用户登录时,两个用户都开始看到最后一个用户的属性 我希望所有的用户都有自己的属性,并且能够协同工作 哪个范围适合我的情况 我是否需要将@Scope注释添加到所有方法中,还是可以在application.properties中进行基本设置 非常感谢 编辑: @RequestMapping(value=“/”,method=RequestMethod.GET) 公共模型和视图主视图(模型和视图模型){Spring boot 在Spring引导中,会话作用域和全局会话作用域之间有什么区别?,spring-boot,scope,Spring Boot,Scope,我正在开发我的第一个Spring Boot应用程序,我想我忘了在我的项目中添加范围。 我的项目中有SpringWeb、SpringSecurity、SpringData和Thymeleaf 当一个用户登录到应用程序时,它以他的属性开始,但当另一个用户登录时,两个用户都开始看到最后一个用户的属性 我希望所有的用户都有自己的属性,并且能够协同工作 哪个范围适合我的情况 我是否需要将@Scope注释添加到所有方法中,还是可以在application.properties中进行基本设置 非常感谢 编辑:
@scope声明仅适用于servlet请求终结点。在使用属性时,我假设您使用java.util.properties,您需要为每个用户定义一个属性,并使用基本java代码来确保线程安全。如果每个用户会话都有自己的属性,则没有问题。希望此帮助我认为使用了错误的词我指的是具有getter和setter方法的类的属性。我的应用程序运行在Tomcat 9上。默认情况下,如果没有范围声明,则使用请求范围。只要不将该类声明为静态类,由该请求初始化的所有类都应仅绑定到该请求。只有一个静态类是主类。在我的控制器用户属性中(具有getter和setter函数的变量)正在初始化相应的登录用户。但是当多个用户登录时,所有用户都开始具有last users属性。如何为所有用户设置应用程序,使其具有自己的属性?发布一些示例代码以更好地理解。您使用的文件夹我认为与文件系统相关?我假设每个用户都有自己的主页目录?如果是这样,应该没有问题。@scope声明只应用于servlet请求端点。在使用属性时,我假设您使用java.util.properties,您需要为每个用户定义一个属性,并使用基本java代码来确保线程安全。如果每个用户会话都有自己的属性,那么就没有p这里有问题。希望这有助于我认为使用了错误的单词和property。我指的是具有getter和setter方法的类的属性。我的应用程序运行在Tomcat 9上。默认情况下,如果没有范围声明,则使用请求范围。只要不将类声明为静态,由请求初始化的所有类都应绑定到只有一个静态类是主类。在我的控制器用户属性(具有getter和setter函数的变量)中正在初始化相应的登录用户。但是当多个用户登录时,所有用户都开始具有last users属性。如何为所有用户设置应用程序,使其具有自己的属性?发布一些示例代码以更好地理解。您使用的文件夹我认为与文件系统相关?我假设每个用户都有自己的主页目录?如果是这样的话,那里应该没有问题。
String bagliKullaniciAdi=bagliKullaniciAdiniAl();
initializeFolders(bagliKullaniciAdi);
KullaniciEntity kullanici = userServ.findByUsername(bagliKullaniciAdi);
String ad= kullanici.getAd();
String soyad = kullanici.getSoyad();
String tamAd=ad+" "+soyad;
model.setViewName("index");
model.addObject("isim", tamAd);
//initialize
setCtrlKuyruk(true);
setAjxEvrakTur("");
setAjxKategori("");
setAjxBelgeTur("");
setAjxFirma("");
setAjxProje("");
setAjxAciklama("");
setAraEvrak("");
setAraKategori("");
setAraKelime("");
setAraFirma("");
setAraAciklama("");
return model;
}
public String bagliKullaniciAdiniAl(){
Authentication auth = SecurityContextHolder.getContext().getAuthentication();
String username=auth.getName();
return username;
}
public Boolean initializeFolders(String bagliKullaniciAdi){
if("user1".equals(bagliKullaniciAdi)){
setInitKlasor("/user1/");
setInitYol("\\\\as04\\ARSIV\\user1\\");
setInitBelgeAdi(null);
setInitBelgeSayisi(null);
setInitTxt(null);
return true;
}else if("user2".equals(bagliKullaniciAdi)){
setInitKlasor("/user2/");
setInitYol("\\\\as04\\ARSIV\\user2\\");
setInitBelgeAdi(null);
setInitBelgeSayisi(null);
setInitTxt(null);
return true;
}else if..... many users
return false;
}