if he's treating you like this, he's not even human. i know you might be in emotional pain right now and you don't like hearing anybody speaking bad about him because you love him, however, he is only just another guy. it's obviously hard for you if you were to leave him, but think what a guy, that you might really fall in love with, would be like. and don't kid yourself that this guy is ur boyfriend because for example, nobody likes to be threatened or hit by others. so your first step in imagining that perfect guy is thinking: 'my perfect boyfriend is gentle and nice to everyone, including me'. if there's anybody that hits people or animals is clearly not normal and should not be allowed to freely roam the streets.
good luck!