$\mathbb{Q}$ is an injective $\mathbb{Z}$-module

I just learned what an injective module is and I want to consider some basic examples.

Apparently, $\mathbb{Q}$ is an injective module over $\mathbb{Z}$, but I can't find an elementary proof of this using only the definition. Precisely, I'd like to prove that $Hom_ \mathbb{Z} (-, \mathbb{Q} )$ is an exact functor. (Or, for any injection of Z modules N to M and a map from N to $\mathbb{Q}$, there exists a morphism from M to $\mathbb{Q}$ making the diagram commute)

So far, I have failed to do this on my own. Thanks for any help.

-

For any category $\mathbf{C}$ and any object $X$, the functor $\textrm{Hom}_\mathbf{C}(-, X)$ is already left-exact, and if $\mathbf{C}$ is an abelian category, in order to show $\textrm{Hom}_\mathbf{C}(-, X)$ is exact, it suffices to show that $\textrm{Hom}(-, X)$ takes kernels to cokernels, or equivalently, injections to surjections.
So, let $\mathbf{C} = \textbf{Ab} = \mathbb{Z}\textbf{-Mod}$, and suppose $N$ is a submodule of $M$. Let $f : N \to \mathbb{Q}$ be any homomorphism. We need to find a homomorphism $g : M \to \mathbb{Q}$ so that the restriction $g |_N$ is equal to $f$. So consider the poset $\mathfrak{A}$ of all homomorphisms $g' : M' \to \mathbb{Q}$ extending $f$, where $N \subseteq M' \subseteq M$, partially ordered by extension. We will use a standard Zorn-type argument to obtain the desired homomorphism $g : M \to \mathbb{Q}$. First, observe that if we have a sequence $$g_0 \le g_1 \le g_2 \le \cdots$$ of extensions of $f$, then we have an extension $g_\infty : M_\infty \to \mathbb{Q}$, where $$M_\infty = \bigcup_{n \ge 0} M_n$$ and $$g_\infty(m) = g_n (m)$$ whenever $m \in M_n$. This is well defined because if $n' \le n$, then $g_n$ extends $g_{n'}$. So $\mathfrak{A}$ is a chain-complete poset. It is non-empty since $f \in \mathfrak{A}$.
We have verified that $\mathfrak{A}$ satisfies the hypotheses of Zorn's lemma, so there is a maximal extension $g' : M' \to \mathbb{Q}$. Now, suppose $M' \ne M$. Then, there would be an element $m$ in $M$ but not in $M'$. The set of all integers $r$ such that $r m \in M'$ is clearly an ideal of $\mathbb{Z}$, so there must be a non-negative integer $s$ such that every such $r$ is a multiple of $s$. If $s = 0$, that means that $m$ is in some sense independent of $M'$, so we can just extend $g'$ to $g'' : M'' \to \mathbb{Q}$ by setting $$g''(m' + a m) = g'(m')$$ where $M'' = M' + m \mathbb{Z}$. But this is a contradiction, since $g'$ was maximal. But if $s > 0$ then we can extend $g'$ to $g'' : M'' \to \mathbb{Q}$ by setting $$g''(m' + a m) = g'(m') + \frac{a}{s} g'(s m)$$ which is another contradiction. So there can't have been such an $m$, and so $M' = M$. This gives us the desired homomorphism $g : M \to \mathbb{Q}$.