Tory leader David Cameron has hit out at those who have been "bashing" bankers for sparking global financial turmoil.