Besides, what's two years of your life compared to the rest of it? You won't have lost two years if you move on, you will have gained two years of experience on what to look out for the next time you are in a relationship. At the age that you are at now, you don't need to be settling for the crap that you are getting. You have many years ahead of you and plenty more fish in the sea for you to find a better companion.
I had been in a relationship for 2-3 years, filled with all sorts of crap. It was definitely one of the hardest decisions I ever had to make but I sucked it up and with my friends encouragement, I broke it off. Since that day, life has gotten so unbelievably good! Suddenly everything looks brighter and more colorful!
You don't need to stay with someone that treats you that way, it may be hard, but listening to your conscious is definitely worth it. Don't worry about the two years of your life being lost, because you still will have them, and the experience to take from them to make the next relationship an even better one than the last!