Why am I such an angry person?

I literally can't have a conversation without getting angry or begin shedding angry tears. My boyfriend has been easily getting on my nerves and I've been snapping at him like crazy. I don't know why he's even still with me but I love him and he doesn't deserve to be a punching bag.. what can I do to change? What are ways to comfort myself? I've been using food as my goto stress reliever but I'm only gaining weight and that's making me more stressed out..