Wide receiver Bryant Johnson has agreed to terms on a one-year deal with the 49ers, a source told ESPN.com. Johnson, an unrestricted free agent, was a first-round pick (17th overall) by the Cardinals in 2003, and had spent his entire career with the Cardinals. Last season, he had 46 receptions for 528 yards and two touchdowns.