我假设如果实例变量由 Spring IOC 管理,并且是单例,那么设计可以称为无状态和线程安全。因此,这种类型的设计可以扩展到集群服务器。我的假设是否正确,如下所述?
@Repository("myDao")
public class MyDao implements Dao {
@Autowired
private JdbcTemplate jdbcTemplate;
@Value("${sqlFoo}")
private String foo;
@Override
public Integer getMyInt(String str) {
return jdbcTemplate.queryForInt(foo, str);
}
然后将其注入:
@Service("myService")
public class MyServiceImpl {
@Resource(name = "myDao")
Dao dao;
@Override
@Transactional(readOnly = true)
public int getScore(String str) {
return dao.getMyInt(str);
}
}