I know how frustrating that can be... I have a 6 year old, and a 28 month old. They both go through this in various manifestations. Still.
A child this age, does NOT have FULL impulse control. Full impulse control is not developed until about 3+ years old. So... keep that in mind, and it may help you understand. Them doing this, is developmental based.. not personal against you.
Many times, a toddler is a "reactor" and activities are in relation to cause and effect.. that is how they learn. Also, their emotions ARE NOT fully developed yet, nor can they fully understand the full range of emotions or facial expressions yet. So, "expecting" a 2 year old to facilitate their reactions like an older child who is 3+ years old, will not work. It is just not in line with their development, at this point, nor their emotional or cognitive "maturity."
ALL toddlers tantrum when they don't get their way... and actually, the "tantrum" phase... goes on until about 5 years old, in various ways. So be prepared for that.
I know the "whining" voice is annoying... but it will take time for him to be able to FULLY control his voice inflections and type of sounds that come out of their mouth. Again, they don't have full impulse control yet. Many times, they have something in their heads/mind that they want to do...but physically or behaviorally, they are NOT able to fully do it, yet. So, they get frustrated.
I would teach him boundaries... but at the same time, don't expect him to fully do it yet. It takes an ENTIRE childhood for a child to "learn" what we want to teach them. Even teenagers go through this, still. Their mental maturity and emotional maturity is still budding, and not fully developed yet.
Still, children learn by REPETITION, for better or for worse. So, just keep repeating, and teaching him what is expected or not. You will feel like a broken record, but that is how it is with kids, and especially toddlers. You will get exasperated...but well, that is how it is.
My son is 28 months old, he is typical 2 years old... and when he "yells" I tell him "no yelling..." then I look him straight in the eye, use my voice in a stern way, and then he stops and speaks in a lower voice. But it is not a permanent fix... a child is a child, and they will yell again. But, my son is learning and he knows not to yell, if we ask him.
My son also goes through bouts of throwing things... but well, this is a toddler. They are not "disobeying" per say, but playing and experimenting and exploring. It may be irritating to us.. but this is what they do. If he is throwing things AT you... then stop him, use your voice, get down to his eye level, tell him "no" and then hold his hands and repeat it. Then put the object aside, and "show" him how to treat the object. But it will take time... lots of time, and I mean over the course of toddler-hood. Not just 1 day.
Have him "help" you clean up when he spills something too. This is what we do with our kids. Always. Make it a positive thing to "help." Then praise them for it, smile, use your voice etc. This encourages them.
Sometimes they just want attention too. So well, they need us, right there, 100% with them. This is something that often deflates my eldest child. My daughter is 6 years old....and she "whines" too... yes, no matter what age a child whines. But, my daughter does it when she wants our attention. So, figure out WHY your son "whines" and when...then trouble shoot that. Be preventative.
All kids have triggers and then reactions for what they want or don't want. Figure that out by observing your son, and then maybe that will help you trouble shoot the issues.
My suggestion would be: to NURTURE your son, even at this young age, to be cooperative... to be a "team" with you and learn how to "help Mommy..." In the long run... this will help you both, especially since you are a single-parent. The earlier you can engender this "trait" in him, the better. It will give him a foundation of "respecting" his Mom, of "helping" her, or being a "team" and family member... and later, it will hopefully help him to become a thoughtful & respectful young boy and man. Think about it this way... when things are frustrating in daily life. It will make a BIG difference in a child... to grow up this way. BUT... it takes consistency AND you talking WITH him about it, always...AND LETTING HIM learn how to talk and express himself too, safely. Nurture talking-story with him & telling him "stories" of how or why we do certain things .. make it a habit.....and then over time, he will get on board and it will be so amazing to "see" your young little man "becoming" an amazing, respectful, mindful of Mommy little boy...
All the best,
Susan