I'll make this easy for you. You made the right decision. Period.
The way you are feeling is correct. You have absolutely made the best decisions about leaving him. You are entitled to feel safe, happy and loved. There is no way that he should be putting his hands on you, for any reason at any time. PERIOD. If you stay with him, it's only a matter of time before he hurts you badly or even kills you. Don't you deserve to feel loved? Don't you deserve to feel respected?
Sometimes when we are involved with someone, they get to know us so well, that they learn how to push our buttons and affect our emotions whether for good or bad. He knows how to push your buttons, make you feel guilty and make you feel sorry for him, but it's all an act. If you do any research into men that hit women, you will see that this is a cycle that they go through. They hit and apologize and then for a while, they are the sweetest thing in the world, until the next time they hit you.
He doesn't give you attention, he doesn't communicate with you, the sex is terrible and lacks passion, he doesn't want to better himself, nor does he want you to do better, he believes what anyone tells you and to top it off he is abusive. There's nothing he can tell you that can make up for 5 years of this, and in my opinion you did the best thing, the SAFE thing for yourself and you have to get to a point of recognizing that you deserve to be happy, and you deserve to have a good life. It's nice that your friend treats you good, but it's really not about having someone new, but about recognizing your worth and your importance and above all loving yourself above everyone else. You don't sound lost to me, you sound like you made a great decision.