What should I do? Long, but please help!

My boyfriend and I recently celebrated our 3 year anniversary, at the beginning of September. Over the summer we took like a week break. He was getting on my nerves. But I became friends with my old best friend. She and I are besties now, haha. And I was friends with this guy for the summer. That I knew from awhile back. I didn't like the guy in a relationship way. Just a friend way. I didn't even hang out with him. Nothing inappropriate at all. But for the anniversary, my boyfriend got me a little ring. And that's it. Which I have no problem with, I'm grateful for it. We are 16 by the way. I don't have a job yet. Neither does he. I didn't have any money at the time. So I couldn't get him a gift. But I did make him some things. And wrote a nice letter. And brought his favorite candy. And now I asked him what he wants for Christmas, and he said, "How about my three year anniversary present that you never got me?" And he's being a real jerk about it. And he keeps saying that I cheated on him over the summer. And all of these ridiculous things. He complains about how I "never" do anything for him. But I give up a lot of fun things and opportunities in my life for him. And I go out of my way to spend whatever money I have, on him. He always accuses me of cheating. And liking every guy I see. But I don't. I've isolated myself from almost everyone. Because if I talk to anyone, he starts an argument. And it's crazy. I like having fun. And I want to have fun with him. But I can't. And I know I can't change him. He's always been this way. But I've been win him for so long. And I love him. I just don't know what to do. Please give me some advice. Thank you!!!