Is this abusive behaviour or normal?

My boyfriend often gets very short tempered and I am not being bias.

- He spits in my face when he’s angry.

- He calls me c*nt wh*re b*tch and many other names in public often screaming/shouting at me.

- He grabs my phone randomly and checks it.

- He threatens to ruin my life

- He tells who I can and can’t be friends with

- Doesn’t let me go on night outs although he can

- Generally shouts at me in public

- Sexually aggressive