Love should bring out the best in you, not the worse.
Though there might be bad times in relationships, this is not really the case. Your husband sounds like he totally hasn't got any self-confidence, and because you're better than him at work, more educated, that makes him feel better coz he can have control over someone he thinks that is better than he is. I am not saying that he doesn't love you, but I think his pride is more important to him. I'm sure he knows well that you're unhappy. If he loves you enough, he would sort himself out before he does anything you mentioned. Remember, even you are married to him, he doesn't OWN you. You are a person, not his slave, you have your own likings, he should be proud of having a wife who still dresses up for him!
And most importantly, he should never use violence towards you just because you're not doing things his way. That's is absolutely unacceptable.
Maybe it's better for you to seperate for a period of time to see whether the love is still there, are you better off without him etc.
Hope this helps.