Tag: 可扩展性

使用Spring的线程安全,无状态设计

我假设如果实例变量由spring IOC管理,并且是单例,那么desgin可以被称为无状态和线程安全。因此,这种类型的设计可以扩展到集群服务器。 我的假设是否正确,如下所述? @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); } }

可变或不可变的类?

我在一些设计书中读到,不可变类提高了可伸缩性,并且尽可能地编写不可变类的良好实践。 但我认为这样不可改变的阶级会增加对象的扩散。 因此,为了提高可伸缩性,继续使用不可变类或更好的静态类(具有所有静态方法的类)是不是很好?