Я предположил, что если переменные экземпляра управляются весной IOC и являются одноточиями, которые desgin можно назвать безстоящими и потокобезопасными. Таким образом, тип desgin можно масштабировать до кластеризованных серверов. Правильно ли я в своих предположениях, изложенных ниже?потокобезопасный, безгосударственный дизайн с использованием Spring
@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);
}
}
спасибо (еще раз), чтобы сделать их чистыми без гражданства, я мог бы использовать локальные методы метода dao и т. Д., Но это было бы намного медленнее и ресурс тяжелым, поскольку новый новый объект будет создан для каждого запроса/потока и, следовательно, плохо как я знаю, они не изменятся? – NimChimpsky
@NimChimpsky: в этом случае нет смысла использовать локальные переменные (и как вы их получите из контекста)? –
Я ошибочно думал, что они будут введены во время выполнения, но вы не можете комментировать их в методах. – NimChimpsky