The CQ Component Plugin generates many of the artifacts necessary for the creation of a CQ Component based on the information provided by the Component's backing Java Class.
For more information on the Plugin and its usage, please see the CQ Component Plugin site