title: Spring: Singleton/session scopes and concurrency
body: <p>Does singleton/session scopes of Spring beans require that access to all its fields must be synchronized? Say through "synchronized" keyword or using some classes from package "java.util.concurrent".</p>
  
  <p>As example, is this code not thread safe? (copy/pased from <a href="http://vraptor.caelum.com.br/documentation/vraptor3-ten-minutes-guide/" rel="noreferrer">here</a>):</p>
  
  <pre><code>@Component
  @SessionScoped
  public class ShoppingCart {
      private List&lt;Product&gt; items = new ArrayList&lt;Product&gt;();
  
      public List&lt;Product&gt; getAllItems() {
          return items;
      }
  
      public void addItem(Product item) {
          items.add(item);
      }
  }
  </code></pre>