Why always have single implementation interfaces in service and dao layers? Why always have single implementation interfaces in service and dao layers? spring spring