Я предположил, что если переменные экземпляра управляются 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);
}
}