En este post veremos algunas anotaciones importantes que se usan en Spring Boot.
Anotación: @Bean
paquete: org.springframework.context.annotation
Uso: Indica que un método genera un Bean para ser administrado por el contenedor de Spring Framework.
@Bean public MyBean myBean (){ return new MyBean();}
Anotación: @Component
paquete: org.springframework.stereotype
Uso: Indica que la clase es un componente y es candidato a la auto detección.
@Component public class MyComponente{}
Anotación: @Service
paquete: org.springframework.stereotype
Uso: Indica que la clase es un servicio. Es una especialización de @Component.
@Service("serviceImpl") public class ServiceImpl implements IServicio{}
Anotación: @Autowired
paquete: org.springframework.beans.factory.annotation
Uso: Nos ayuda a inyectar dependencia. Se puede usar en un campo, en un método setter y/o en un constructor.
@Autowired private MyServicio myServicio;
Anotación: @Qualifier
paquete: org.springframework.beans.factory.annotation
Uso: Se puede utilizar en un campo o parámetro como calificador para los beans candidatos cuando se realiza el cableado automático. También se puede utilizar para anotar otras anotaciones personalizadas que, a su vez, se pueden utilizar como calificadores.
@Qualifier("myServiceImpl") private MyService myServiceImpl;
Anotación: @Value
paquete: org.springframework.beans.factory.annotation
Uso: utilizado en el nivel de parámetro de campo o método / constructor que indica una expresión de valor predeterminado para el elemento anotado.
@Value("${mensaje}") private String mensaje;
@Value("33") private int edad;
Anotación: @Repository
paquete: org.springframework.data.repository
Uso: Provee métodos CRUD.
@Repository public interface MensajesRepository extends Repository {}
Anotación: @Controller
paquete: org.springframework.stereotype
Uso: Indica que una clase es un controlador.
@Controller public class Controlador{}
Por el momento es todo. Faltan ver las anotaciones @RequestMapping, @GetMapping, etc.
Links: