Our latest rescue is a Great Dane who came to us with several issues, including food aggression/resource guarding. We've had him for 3 months, and with careful training and management, we have had no incidents other than stiffening up when eating in a group setting (we have 3 other dogs).
First, google NILF (Nothing In Life Is Free) and plan on implementing it for at least the first week the dog comes home. I prefer to tether the dog to me (or DH) for the first 2 or three weeks, but that isn't always practical
Second, hand feed all meals in a quiet, calm place where you won't be interrupted. Try to work in eye-contact as you do this - you want him to focus on your face, not the food.
Get to know his body language. Some dogs are obvious and crouch over their food growling, but others are far more subtle and all you might see is a slight stiffening or pause in chewing. Your goal is to teach him to RELAX around food.
Once the hand-feeding is going well, and you're getting good eye contact, try to work in a "wait" command. For example, in our house, all the dogs have to sit, look at me, I put food down, and they wait to dig in until I say "okay".
You can eventually build up to feeding in the crate, or whatever calm/quiet spot he will eventually be fed in, but be prepared to take a step or two back if he starts showing signs of tension around food again.
One final note, if he does have a setback and growls or snaps, do not react with a harsh correction!! When you correct a dog who is warning you, you're basically telling him that the warning wasn't heeded and next time he'd better up the ante. Go back a few steps, and build back up from there.