<human>: Can you condense the text into three sentences or less?

I'm going to start off by saying that I love him dearly. He's been my crush of 2 years and we've been dating for one year now, he's my best friend and I've never had anybody be more kind, caring or concerned for me. The issue is that he is easily frustrated and becomes sulky extremely easily, as often as every other day we see each other, and I don't think I can handle it anymore. I tend to be a optimistic and positive person, and even though he's said that he's developed a more positive outlook since we've been together, I still notice him snapping at people, turning himself into the victim of the situation, or become angry at small things that I just can't conceive as inflammatory, relatively often. Despite this, he's extremely tender hearted, and he's broken down crying in my arms while discussing college plans (I plan on moving out of state while he stays). I know he cares for me greatly and I fear that he will become extremely distraught if I end things, since I try my best not to show my waning affection and patience. We have discussed my concerns about his anger and frustration multiple times now, and even though I know he's making an effort for me, I just feel like he's starting to leech my happiness and I find him to no longer be a source of joy for me. 

Sorry about the wall of text, but I just need to know if there are other ways I could try to salvage this relationship or the kindest ways to break up with him. Thanks guys.
<bot>: My boyfriend becomes sulky and angry easily and I don't think I can handle much more of it. But I still care about him and don't want to hurt him, what are my best options?