How to fix bad shading on cylinder with a difference boolean?
'Auto Smooth' under the normals section of the Object Data Properties tab should do the trick for you. Oftentimes adjusting the angle of the Auto Smooth will also be necessary.