Springboot" Después de leer (4): ¿Cuáles son las anotaciones de Springboot?
Entonces, ¿cuáles son las anotaciones? Quiero hablar sobre las anotaciones que uso comúnmente en mi trabajo
1: ##@SpringBootApplication
Identifica esta clase como la clase de inicio del proyecto SpringBoot. Y deje que SpringBoot proporcione automáticamente la configuración necesaria al programa, lo que equivale a las tres anotaciones @SpringBootConfiguration, @EnableAutoConfiguration y @ComponentScan.
(1): @SpringBootConfiguration indica que esta clase se utilizará como clase de configuración Springboot,
(2): @EnableAutoConfiguration indica que la función de configuración automática está habilitada, lo que también implementa el principio de configuración automática
@Configuration ensambla componentes en clases de entidad y los encapsula como beans. AutoConfigurationImportSelector selectImports() usa este método para encontrar los nombres completos correspondientes a todas las clases de configuración automática de JavaConfig y luego los carga. todas las clases de configuración automática en el contenedor Spring. Hay beans, configuraciones y objetos equivalentes. Esta es la configuración automática.
(3): @ComponentScan se usa para agregar paquetes al escaneo de paquetes SpringIOC,
2: @RestController y @Controller
@RestController es equivalente a @ Controller+@ResponseBody,
@RestController es equivalente a @Controller+@ResponseBody.ResponseBody,
@RestController se agrega a la anotación de la clase, de modo que cada método en la clase será escrito en json /xml devuelve datos y regresa a la página de inicio.
Por ejemplo, devuelva "abc", la interfaz mostrará las tres letras abc.
Agregue @Controller a la clase encima de la anotación, de modo que cada método en la clase devuelva una página de visualización.
Por ejemplo, devuelve "abc", el front-end mostrará el contenido de abc.html en el recurso estático
3: @component y @configuration
Aunque la anotación Componente también se utilizará como clase de configuración, no generará una clase de proxy CGLIB para ella. Por lo tanto, llamar al método car() realiza dos nuevas operaciones al generar un objeto Driver y al generar un objeto Car, por lo que son objetos diferentes. La anotación de Configuración subclasifica el objeto actual e intercepta el método, mientras que la segunda llamada al método car() obtiene el objeto directamente de BeanFactory, por lo que obtienes el mismo objeto.
4: @Autowired y @Resource
@Resource y @Autowired se utilizan para la inyección de Bean. De hecho, @Resource no es una anotación Spring, su paquete es javax.annotation. Recurso, necesitas importar. Pero Spring admite la inyección de esta anotación.
La anotación @Autowired ensambla objetos dependientes por tipo. De forma predeterminada, requiere que el objeto dependiente exista. Si se permiten valores nulos, su atributo requerido se puede establecer en falso.
El uso de
@Resource se inyecta automáticamente según ByName de forma predeterminada. ByName lo proporciona J2EE y debe importarse al paquete javax.annotation.Resource.