If you can, it would be worth making a note of why he explodes - what leads up to the outburst/aggression, what the trigger is. You might see a pattern forming - eg too many demands put on him / he doesn't understand / can't communicate what he wants to say or feels / bored / wanting attention / wanting to be left alone. You've already identified some of this by 'finds things hard or on the edge'. The hitting etc is his way of dealing with it, not because he's aggressive, but because he's lashing out.
So if it's possible to work out the function of his behaviour, you can then more easily work out how to handle it. Eg if it's because he finds things hard, you can try breaking down the task you're asking of him into small steps, massively rewarding him at each step of the way (even if he doesn't 'succeed' but reward him just for trying).
Totally agree about rewarding the positive, appropriate behaviour, and where you can, ignore the inappropriate. I'd ignore the spitting and verbal abuse (hard, i know!) and only punish for physical aggression. Then reward for 'good' behaviour. As others say, it is much more motivating to get praise and rewards than to get punishments, especially if you're getting punished really for just not knowing how to handle things.
So you can also try teaching him more appropriate ways of letting out his anger or frustration - it's ok to be angry after all!
He sounds quite like my ds, who actually really wants to be 'good' but just can't handle failing or not excelling, so will really overreact (used to be aggressive, spit etc too).
A token system might work - each day do a tick and cross chart where if he gets 10 ticks he gets a treat at the end of the day (wii time, sweets, whatever) - could even try drawing the treat at the end of the 'tick' column. Each time he does something 'nice' (even just eg listening to you) give him a tick and make a big show of doing so. If he hits/spits/shouts he gets a cross. But don't get angry when filling in the cross - just matter of fact and a bit disappointed.
HtH