The key here is what used to be called "default runlevel" if you remember CentOS 6 with SysV init.
In CentOS 7, the programs started upon boot are determined by
systemd as @Centimane rightly pointed out.
Systemd will start the "default target" when it boots the system. On servers this target does not have graphical user interface but on desktop systems it usually should.
Please check the output of the command
# systemctl get-default
On non-graphical systems output would normally be
On your desktop you want
In order to set the second you execute
# systemctl set-default graphical.target
and then, install+enable a graphical login screen (e.g.
gdm, but there are others like
# yum install gdm
# systemctl enable gdm