Я пробовал инструменты ProGuard, YGuard.
Эти инструменты могут запутать код, но во время выполнения Spring IOC дает сбой. Запутывание переименовывает все пакеты и классы, поэтому внедрение бина не работает во время выполнения. Использую пружинный ботинок 1.5.7 и Maven.