The former Portsmouth keeper has signed a one-year deal with an option for an additional 12 months.
Celtic and Sunderland were also reportedly keen on signing the 39-year-old.
He said: “I’ve had offers to stay in the Premier League but it is more important that I play football – which I love – for the right club and be a family man.
“I had a long conversation with the chairman Steve Lansdown yesterday and I liked what he said about the club and his ambition. I know all about the plans for a new stadium and desire to win promotion to the Premier League.
“The club is ambitious and that’s what I am. The South West has not had a club in the Premier League and that needs to change.”
Lansdown added: “I’m delighted David James has agreed to sign today.
“My ambition is for this football club to play at the highest level – the Premier League – and in the best surroundings, hence the work on the training ground and new stadium.
“We need good quality players to make that happen and that’s why I’m thrilled that David has agreed to come on board.”