答えは、「スケーラブル」が何を意味するかによって異なります。多くは、実装するために選択したフレームワークではなく、アプリケーションに依存します。
どのフレームワークを選択しても、それを展開するハードウェアには、処理できる同時リクエスト数の上限があります。より多くのトラフィックを処理したい場合は、より多くのハードウェアを投入し、負荷分散などを含める必要があります.
その場合に関連する部分は、共有状態に関係しています。共有状態が多い場合は、スレッド セーフであること、必要に応じて「スティッキー」であること、クラスター全体でレプリケートされることなどを確認する必要があります。これはすべて、展開先のアプリ サーバーに関係します。フレームワークではなく、アプリの設計方法です。
Tomcat は「フレームワーク」ではなく、サーブレット/JSP エンジンです。クラスタリング機能を備えていますが、他のほとんどの Java EE アプリ サーバーも同様です。Spring をすでに選択している場合は、EJB がないことを意味するため、Tomcat を使用できます。Jetty、Resin、WebLogic、JBOSS、Glassfish - どれでも構いません。
あなたがすでにそれをよく知っているなら、春は良い選択です. Spring のイディオムに従うことで、アプリがレイヤー化され、アーキテクチャ的に健全である可能性が高くなると思いますが、スケーラビリティに関しては、それが決定的な要因ではありません。
Hibernate を使用すると開発作業が楽になりますが、データベースのスケーラビリティはスキーマやインデックスなどに大きく依存します。Hibernate は保証されません。
「スケーラブル」は、簡単に捨てられがちな包括的な用語 (「軽量」など) の 1 つですが、多くの考慮事項が含まれています。フレームワークの単純な選択が問題を完全に解決するかどうかはわかりません。