My boyfriend is off to the marines soon.

He's been through a lot in his life. Like ALOT. So he gives in to drinking to forget some of the stuff he's been through. But yesterday I went out with a couple of girlfriends and got home and he flipped and called me a slut and other nasty names. I woke up today and he told me he loves me and that he was just drunk. But I don't want this to become a pattern. I love him soooo much but do I deserve this? I've been nothing but loyal to him. He says he's going to change but is he ? I just need some friendly advice please