Put up a rewards system every time he does the right thing and stamp a star on his hand. Kids love this and will often do the things needed. As for spitting during brushing of teeth, try to look for videos teaching kids to spit the water when brushing their teeth.
Hi... you might find this article informative https://sg.theasianparent.com/the-when-and-how-of-potty-training-a-toddler-find-out-the-basics
Kids love it when adults reward them for every single good deed they do, a bit like bribery but it works!