1) Angular JS modules allow you to organize an application into specific modules that contain controllers, services, filters and directives. A module is created using angular.module and can be retrieved later on.
2) Dependency injection in Angular allows components to receive dependencies from the injector. Dependencies can be annotated inline, through the $inject property or implicitly.
3) Data binding in Angular automatically synchronizes data between the model and view. The view reflects changes made to the model and vice versa using bindings like {{expression}} or ngBind.