It does sound like your guy has some issues with anger. But it also sounds to me that possibly you aren’t giving him the space he needs to work things through. It may be that you two are now in a cycle: He gets mad. You want him to talk. He gets frustrated because he doesn’t have enough space to figure things out and pushes you away. You get upset and crowd him some more. Around and around it goes until he explodes or you get upset – or both.
Why don’t you try an experiment the next time he’s mad? Tell him you can see he’s angry and that he should let you know if there’s any way you can help. Then leave him alone to work it out at his own pace. Find something to do that will keep you so occupied so you don’t give in to the temptation to bug him. If you do this a few times, you are likely to learn who really has the problem. Once you have that information, I hope the two of you will find new ways to be supportive of each other when things go wrong.
I wish you well.