Dear ramyaprithvi, You are experiencing what many partners (both men and women but mostly women) must have experienced in a relationship. The problem here is that you "love" him too much to lose him. And something makes me feel that he knows that too and might be using it for his own benefit.
Under the influence of the fear of losing him you bear all his bad habits too (along with the good ones he have) feeling that this is what a relationship is about, accepting the good with the bad.
But here's the thing, if he loves you as much as you do, he should take steps to overcome some of his bad habits. This way he will be showing his care for you. If he does not then it certainly means that he is not in love with you the way you are.
Now it is up to you to decide that are you ready to be with a man who is not that "into" you and bear his anger and bad temper? If he is not into you, nothing you do will be good enough to earn his praise. But if he really loves you he will not exactly change but atleast realize your anguish and show signs of concern and care. Try talking to him one on one (politely and maturely), it will knock some sense into him if he cares for you.
Everyone deserves good in their life. He is not the only man on earth and this is not the end of the world. Make your decisions wisely. we all have only one chance at life, should we really spend it (trying in vain) on those who don't really care for us? If you accept him for who he is he should do the same.
I hope things turn out to be just right for you. Best of Luck.