问题1)根据我的理解,spring会创建单例对象,所以当我有一个像下面的控制器一样的自动装配服务时,会影响线程的安全性.
问题2)如果我在类级别声明一个int类型变量并在控制器或服务中使用它,它会影响线程安全吗?
@Controller
public class LoginController {
@Autowired
public DaoService daoservice;
@RequestMapping("/")
public String getBookInfo() {
Book book = daoservice.getBookbyId(1L);
System.out.println(book.getTitle());
return "welcome";
}
}
@Service
public class DaoService {
@Autowired
public BookRepository BookRepo;
public Book getBookbyId(Long Id) {
Book book = BookRepo.findOne(Id);
return book;
}
}
Run Code Online (Sandbox Code Playgroud) 我有3个用户,当我单击“下一步”时,它必须为下一个用户加载路由,所以我将一个添加到ID并传递给routerLink,但以某种方式而不是添加它来连接数字,以下是代码
import { Component, OnInit, OnDestroy } from '@angular/core';
import { ActivatedRoute,Params } from '@angular/router';
import { Subscription } from 'rxjs/Subscription';
@Component({
selector: 'app-user',
templateUrl: './user.component.html',
styleUrls: ['./user.component.css']
})
export class UserComponent implements OnInit,OnDestroy {
routeSubscription : Subscription;
id : number;
next : number = 0;
constructor(private route:ActivatedRoute) {
}
ngOnInit() {
this.routeSubscription = this.route.params.subscribe((params :Params) =>{
this.id = params['id'];
this.next = this.id + 1;
});
}
ngOnDestroy(){
this.routeSubscription.unsubscribe();
}
}
Run Code Online (Sandbox Code Playgroud)
HTML模板
<p>
user id : {{ id }}
</p> …Run Code Online (Sandbox Code Playgroud)