The deal reportedly includes an opt-out after 2021.
Bradley's wife confirmed the move Thursday on Twitter:
The 30-year-old had spent the previous eight seasons with the Boston Red Sox, the club that drafted him 40th overall in 2011. He was the top free-agent position player still available with spring training underway.
Typically a glove-first outfielder, the former All-Star is coming off one of his best seasons at the plate, hitting .283/.364/.450 with seven home runs and five steals over 55 games in 2020.
Bradley has been worth 44.6 runs on defense over his eight-year career, according to FanGraphs. The 2018 Gold Glove Award winner and ALCS MVP has saved 53 runs by DRS and 36.5 runs by UZR.