Financial terms were not disclosed. The deal includes a player's option for 2003.
"It's a big relief for me," Lopez said. "I've always wanted to be a Brave."
The deal comes just five days after the Braves re-signed pitcher John Smoltz to a three-year, $30 million deal.
Lopez, 31, has spent his entire eight-year career with the Braves. Last season, he batted .267 with 17 homers and 66 RBI in 128 games, once again taking days off when four-time Cy Young Award winner Greg Maddux started.
Lopez, who was limited to 65 games in 1999 due to knee injury, enjoyed his best season in 1998, when he hit .284 with career highs of 34 homers and 106 RBI.
"Javy has been very productive for us in a very key position," Braves general manager John Schuerholz said. "And we believe he will continue to be a very valuable member of our roster."
Signed as an undrafted free agent in 1987, Lopez is a lifetime .287 hitter with 160 homers and 533 RBI in 918 games.