ADVICE NEEDED!

My bf and I have been together for 3 years now. Since I met him, I only get to see him once a week due to his work and school schedule. It really frustrates me and whenever I bring it up he gets mad at me. Also, he never pays when we go out to eat. Even when we go on trips, he doesnt spend a penny I do it all. We recently went on a trip for 4 days and we only had sex one time. I got mad and he said he dont be thinking of all that and that if I want sex I should do something. He barely shows me any affection. He says he loves but he says ifnI'm not happy then I should move on. He doesnt hesitate letting go off me. He says I'm always complaining. He says everything will have to be his way because he is the man in this relationship. Ive been there so much for him but he's never there for me. When we got back from the trip, I came by myself in a taxi after dropping him off, and he never bothered txting me asking if i got home safe. What do you guys think I should do? Does he really love me?