A linkage of rigid bodies under gravity loads can be statically counter-balanced by adding compensating gravity loads. Similarly, gravity loads or spring loads can be counter-balanced by adding springs. In the current literature, among the techniques that add springs, some achieve perfect static balance while others achieve only approximate balance. Further, all of them add auxiliary bodies to the linkage in addition to springs. We present a perfect static balancing technique that adds only springs but not auxiliary bodies, in contrast to the existing techniques. This technique can counter-balance both gravity loads and spring loads. The technique requires that every joint that connects two bodies in the linkage be either a revolute joint or a spherical joint. Apart from this, the linkage can have any number of bodies connected in any manner. In order to achieve perfect balance, this technique requires that all the spring loads have the feature of zero-free-length, as is the case with the existing techniques. This requirement is neither impractical nor restrictive since the feature can be practically incorporated into any normal spring either by modifying the spring or by adding another spring in parallel.