1. Lista de anotaciones
@SpringBootApplication: contiene anotaciones @ComponentsCan, @Configuration y @enableAutoconfiguration. Donde @ComponentsCan permite escanear el arranque a la clase de configuración y agregarlo al contexto del programa.
@Configuration es equivalente al archivo de configuración XML de Spring; El código Java puede verificar el tipo de seguridad.
@EnableAutoconfiguration Configuración automática.
@ComponentsCan ComponentsCan Component Scans para descubrir y ensamblar automáticamente algunos frijoles.
@Component se puede usar con CommandLinerunner para ejecutar algunas tareas básicas después de que se inicia el programa.
La anotación @RestController es una colección de @Controller y @ResponseBody, lo que indica que este es un frijol controlador, y el valor de retorno de la función se llena directamente en el cuerpo de respuesta HTTP. Es un controlador de estilo de descanso.
@Autowired Importar automáticamente.
@PathVariable obtiene los parámetros.
@JsonBackReference resuelve un problema de enlace externo anidado.
@RepositoryRestreseurCePublic se usa con los datos de arranque de boot spring-boot.
2. Explicación detallada de anotaciones
@SpringBootApplication: declare Spring Boot para configurar automáticamente el programa con la configuración necesaria. Esta configuración es equivalente a tres configuraciones: @Configuration, @enableAutoconfiguration y @ComponentsCan.
paquete com.example.myproject; importar org.springframework.boot.springapplication; importar org.springframework.boot.autoconfigure.springbootapplication; @springbootapplication // igual que @configuration @enableautoconfiguration @ComponentsCan Public Class Aplication {public static void main (string [] args) {springapplication.run (application.class, args); }}@ResponseBody: significa que el resultado de retorno de este método se escribe directamente en el cuerpo de respuesta HTTP. Generalmente se usa cuando los datos se obtienen de manera asincrónica y se usan para construir una API RESTful. Después de usar @RequestMapping, el valor de retorno generalmente se analiza como una ruta de salto. Después de agregar @ResponseBody, el resultado de retorno no se analizará como una ruta de salto, sino que se escribirá directamente en el cuerpo de respuesta HTTP. Por ejemplo, si obtiene datos JSON de forma asincrónica y agrega @ResponseBody, los datos JSON se devolverán directamente. Esta anotación generalmente se usará con @RequestMapping. Código de muestra:
@RequestMapping ("/test") @ResponseBody public String test () {return "ok"; }@Controller: se usa para definir la clase de controlador. En el proyecto Spring, el controlador es responsable de reenviar la solicitud de URL enviada por el usuario a la interfaz de servicio correspondiente (capa de servicio). En general, esta anotación está en la clase. Por lo general, el método debe coordinarse con la anotación @RequestMapping. Código de muestra:
@Controller @RequestMapping ("/DemoInfo") publicClass Democontroller {@AUTOWIRED DemoInfoservice DemoInfoservice; @RequestMapping ("/Hello") public String Hello (Map <String, Object> Map) {System.out.Println ("Democontroller.hello ()"); map.put ("Hola", "de TemplateController.hellohtml"); // La plantilla hello.html o hello.ftl se utilizará para representar y mostrar. return "/hello";}}@RestController: una colección de componentes de capa de control (como la acción en los puntales), @ResponseBody y @Controller. Código de muestra:
paquete com.kfit.demo.web; import org.springframework.web.bind.annotation.requestMapping; importar org.springframework.web.bind.annotation.restController; @RestController @RequestMapping ("/DemoInfo2") publicClass Democontroller2 {@RequestMapping ("/Test") Public String Test () {Return "OK";}}@RequestMapping: proporciona información de enrutamiento y es responsable de mapear URL a funciones específicas en el controlador.
@EnableAutoconfiguration: Configuración automática de arranque de primavera: intente configurar automáticamente su aplicación Spring en función de las dependencias de JAR que agregó. Por ejemplo, si HSQLDB existe en su classpath y no ha configurado manualmente ningún granos de conexión de base de datos, entonces configuraremos automáticamente una base de datos en memoria. Puede agregar la anotación @enableAutoconfiguration o @SpringBootApplication a una clase de @Configuration para seleccionar Autoconfiguration. Si encuentra que se aplica una clase de autoconfiguración específica que no desea, puede usar el atributo de exclusión de la anotación @enableautoconfiguration para deshabilitarlos.
@ComponentsCan: significa que la clase descubrirá automáticamente el componente de escaneo. La comprensión personal es equivalente a que si escanea una clase con anotaciones como @Component, @Controller, @Service, etc. y la registra como un frijol, puede recopilar automáticamente todos los componentes de primavera, incluida la clase @Configuration. A menudo usamos la anotación de @ComponentsCan para buscar frijoles e importarlos en combinación con la anotación de @aUtowired. Todos los componentes de primavera se pueden recopilar automáticamente, incluida la clase @Configuration. A menudo usamos la anotación de @ComponentsCan para buscar frijoles e importarlos en combinación con la anotación de @aUtowired. Si no hay configuración, Spring Boot escaneará las clases debajo del paquete donde se encuentra la clase de inicio y el subpackaje que usa las anotaciones de @Service, @Repository, etc.
@Configuration: equivalente a un archivo de configuración XML tradicional. Si algunas bibliotecas de terceros deben usar archivos XML, se recomienda usar la clase de @Configuration como la clase de configuración principal del proyecto: puede usar la anotación @Importresource para cargar el archivo de configuración XML.
@Import: se usa para importar otras clases de configuración.
@ImpORTRESource: se usa para cargar el archivo de configuración XML.
@AUtowired: importe automáticamente los frijoles dependientes
@Service: componentes que generalmente se utilizan para modificar la capa de servicio
@Repository: el uso de la anotación @Repository puede garantizar que DAO o repositorios proporcionen traducción de excepción. La clase DAO o Repositorios modificada por esta anotación será descubierta y configurada por ComponetScan, y no hay necesidad de proporcionarles elementos de configuración XML.
@Bean: use el método de anotación @Bean para ser equivalente al bean configurado en XML.
@Value: inyecte el valor de la propiedad configurada por Spring Boot Application.Properties. Código de muestra:
@Value (value = "#{Message}") Mensaje de cadena privada;@Inject: equivalente al valor predeterminado @aUtowired, pero sin el atributo requerido;
@Component: se refiere a componentes en general. Cuando los componentes no son fáciles de clasificar, podemos usar esta anotación para anotar.
@Bean: es equivalente a XML, colocado encima de un método, no una clase, lo que significa generar un frijol y entregarlo a la administración de primavera.
@Autowired: importe automáticamente los frijoles dependientes. Método de altura. Use los frijoles configurados para completar el ensamblaje de propiedades y métodos. Puede marcar variables, métodos y constructores de miembros de clase para completar el trabajo de ensamblaje automático. Cuando se agrega (requerido = falso), no se informará un error incluso si no se puede encontrar el bean.
@Qualifier: cuando hay múltiples frijoles del mismo tipo, puede usar @Qualifier ("Nombre") para especificarlo. Funciona con @Autowired. Además de inyectar de acuerdo con el nombre, los descriptores de calificadores @Qualifier se pueden usar para realizar controles de granularidad más finos sobre cómo seleccionar candidatos. El método de uso específico es el siguiente:
@AUTOWIRED @QUALIFIER (valor = "DemoInfoservice") Private DemoInfoservice DemoInfoservice;
@Resource (name = "name", type = "type"): si no hay contenido en los soportes, el valor predeterminado es byname. Haz algo similar a @aUtowired.
3. Notas de JPA
@Entity: @Table (name = ""): indica que esta es una clase de entidad. Generalmente utilizado para las dos anotaciones de JPA, pero si el nombre de la tabla y el nombre de la clase de entidad son los mismos, se puede omitir @Table.
@MappedSuperClass: se usa para determinar la entidad que es la clase principal. La subclase de atributo de la clase principal se puede heredar.
@NorepositoryBean: Generalmente utilizado como repositorio de la clase principal. Con esta anotación, Spring no instanciará el repositorio.
@Column: si el nombre del campo es el mismo que el nombre de la columna, se puede omitir.
@ID: significa que este atributo es la clave principal.
@GeneratedValue (Strategy = GenerationType.Sequence, Generator = "Repair_seq"): significa que la estrategia de generación de clave principal es la secuencia (puede ser automática, identidad, nativa, etc., Auto significa que puede cambiar entre múltiples bases de datos), y el nombre de la secuencia especificada es reparador_seq.
@SequenceGenerSeTor (name = "Repair_seq", secuenceName = "Seq_repair", Allocationsize = 1): el nombre es el nombre de la secuencia, de modo que SECENSENAME es el nombre de secuencia de la base de datos, y los dos nombres pueden ser consistentes.
@Transient: significa que esta propiedad no es un mapa para un campo en la tabla de la base de datos, y el marco ORM ignorará esta propiedad. Si un atributo no es un mapa de campo de una tabla de base de datos, debe marcarse como @Transient. De lo contrario, el marco ORM predeterminado es su anotación como @Basic. @Basic (fetch = fetchtype.lazy): la etiqueta puede especificar cómo se cargan los atributos de entidad
@JSONIGNORE: La función es ignorar algunas propiedades en Java Bean al serializar JSON, y tanto la serialización como la deserialización se ven afectadas.
@Joincolumn (name = "Loginid"): uno a uno: claves extranjeras en esta tabla señalando otra tabla. One a muchos: otra tabla apunta a la clave extranjera de esta tabla.
@Onetoone, @Onetomany, @ManyToone: correspondiente a uno a uno, uno a muchos y muchos a uno en el archivo de configuración de Hibernate.
4. Notas relacionadas con SpringMVC
@RequestMapping: @RequestMapping ("/Path") significa que el controlador maneja todas las solicitudes de URL para "/ruta". RequestMapping es una anotación utilizada para manejar las asignaciones de direcciones de solicitud y se puede utilizar en clases o métodos.
Para su uso en una clase, todos los métodos que representan las solicitudes de respuesta en una clase toman esta dirección como la ruta principal. Esta anotación tiene seis atributos:
@RequestParam: utilizado antes del parámetro del método.
@RequestParam String a = request.getParameter ("A"). @PathVariable: PathVariable. Por ejemplo, requestmapping ("user/get/mac/{macAddress}") public String getByMacaddress (@PathVariable String MacAddress) {// hacer algo; }Los parámetros deben ser los mismos que los nombres en los aparatos ortopédicos.
5. Manejo de excepciones globales
@ControllerAdVice: contiene @Component. Se puede escanear. Manejo de excepciones unificadas.
@ExceptionHandler (excepción.class): se usa en el método para indicar que si encuentra esta excepción, ejecutará el siguiente método.
Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.