Okay... both my kids self-weaned. My choice.
My daughter self-weaned at about 2.5 years old.
Along the way... I talked to her about it... one day she will be a big girl and not need it, I taught her manners about it (ie: NOT in public, not to demand it, to ask nicely, it is MY body, etc.), also when she'd ask I would say "In a minute, Mommy is busy..." then I would NOT sit down and would make myself busy. She then got distracted and forgot about it.
Then one day out of the blue, she told me "I don't drink from you anymore..." and she giggled like she thought it was so ridiculous she did that. And that was it. She stopped.
My son on the other hand was more matter of fact about it. At about 1 years old... he would just HATE when I tried to nurse him... he would literally scream and SLAP my boobs away... rejecting it. Period. So I then stopped. He was all done, with me.
My friends, who had self-weaned their kids... and their kids did so at about 2.5 years old, did this: They put Band-Aids on their nipples and told their child "Mommy doesn't have milk anymore..." or, "Mommy has a boo-boo...." and they said that worked for them WELL. The used the Band-Aids on their nipples... until their kid, was stopped and didn't bother asking to nurse anymore. They said it didn't take long.
Next, you might give your son or let him have a lovey.
Substitute something else... for comfort.
all the best,
Susan