soo confused! help! (long!)

so I have a boyfriend that I've been with for almost a year. before him I was with a guy for 6 months. I fell for him very hard. but he lived 5 hours away and we couldn't make it work because we were fighting too much. I was completely heart broken. that's when I met my current boyfriend. I do love him but we have been fighting so much lately cuz he won't change and he won't grow up. he isn't romantic or sweet or appreciative of anything I do. he takes out his anger on me (not physically). he's just always angry. I have told him many times he needs to change and he won't. a few days ago my ex messaged me on Facebook...he's always been the one that got away. he is now in the navy and is training to be a doctor in the navy. I'm not sure what to do. I find myself pulling away from my boyfriend lately and I think it's the way he's been acting but I'm afraid that if I break up with him I will end up missing him. and I'm also afraid that if I break up with him and go for my ex eventually that things won't work out with him too. I'm so confused! I don't know if I should stay unhappy and hope things will get better or end things and possibly regret it or possibly it be the best decision for myself. help!!!