1. Lista de anotações
@Springbootapplication: contém @componentscan, @configuration e @enableautoconfiguration anotações. Onde @ComponentsCan permite a varredura de inicialização da primavera na classe de configuração e adicione -a ao contexto do programa.
@Configuration é equivalente ao arquivo de configuração XML da Spring; O código Java pode verificar a segurança do tipo.
@Enableautoconfiguration configuration.
@ComponentsCom componentes, componentes, digitaliza para descobrir e montar automaticamente alguns grãos.
@Component pode ser usado com o CommandLineRunner para executar algumas tarefas básicas após o início do programa.
A anotação @RestController é uma coleção de @Controller e @ResponseBody, indicando que este é um feijão controlador, e o valor de retorno da função é preenchido diretamente no corpo de resposta HTTP. É um controlador de estilo de repouso.
@Autowired Import automaticamente.
@PathVariable obtém os parâmetros.
@JsonbackReference resolve o problema de link externo aninhado.
@RepositoryRestResourcepublic é usado com o Spring-Boot-Starter-Data-Rest.
2. Explicação detalhada de anotações
@SpringbooTApplication: Declare a inicialização da mola para configurar automaticamente o programa com a configuração necessária. Essa configuração é equivalente a três configurações: @configuration, @enableautoconfiguration e @componentscan.
pacote com.example.myProject; importar org.springframework.boot.springApplication; importar org.springframework.boot.autoconfigure.springbootapplication; @springbootapplication // o mesmo que @configuration @enableautoconfiguration @ComponentsCan da classe public Application {public static void main (string [] args) {springApplication.run.run.clmun (public static void main (string [] args)) {springApplication.run.run.crun.cl; }}@ResponseBody: Isso significa que o resultado de retorno desse método é escrito diretamente no corpo de resposta HTTP. É geralmente usado quando os dados são obtidos de forma assíncrona e são usados para criar uma API RESTful. Depois de usar @RequestMapping, o valor de retorno geralmente é analisado como um caminho de salto. Depois de adicionar @ResponseBody, o resultado de retorno não será analisado como um caminho de salto, mas será escrito diretamente no corpo de resposta HTTP. Por exemplo, se você obtiver dados JSON de maneira assíncrona e adicionar @ResponseBody, os dados JSON serão retornados diretamente. Esta anotação geralmente será usada com @RequestMapping. Código de exemplo:
@RequestMapping ("/teste") @ResponseBody public String test () {return "OK"; }@Controller: é usado para definir a classe do controlador. No projeto da primavera, o controlador é responsável por encaminhar a solicitação de URL enviada pelo usuário para a interface de serviço correspondente (camada de serviço). Geralmente, essa anotação está na classe. Geralmente, o método precisa ser coordenado com o anotação @ReQuestMapping. Código de exemplo:
@Controller @RequestMapping ("/Demoinfo") PublicClass Democontroller {@aUTowired Private DemoinFoservice DemoinFoservice; @ReQuestMapping ("/hello") public String (map <String, object> Map) {System.out.println ("DemoConLer.Hello," map.put ("hello", "de templateController.hellohtml"); // O modelo hello.html ou hello.ftl será usado para renderizar e exibir. retornar "/hello";}}@Restcontroller: uma coleção de componentes da camada de controle (como ação em struts), @ResponseBody e @Controller. Código de exemplo:
pacote com.kfit.demo.web; importar 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: fornece informações de roteamento e é responsável pelo mapeamento de URLs para funções específicas no controlador.
@Enableautoconfiguration: Spring Boot-Configuração automática: tente configurar automaticamente seu aplicativo de mola com base nas dependências JAR que você adicionou. Por exemplo, se o HSQLDB existir em seu caminho de classe e você não configurar manualmente nenhum feijão de conexão com o banco de dados, configuraremos automaticamente um banco de dados na memória. Você pode adicionar a anotação @enableautoconfiguration ou @springbootapplication a uma classe @configuration para selecionar afiguração automática. Se você achar que uma classe de configuração automática específica que você não deseja é aplicada, poderá usar o atributo de exclusão da anotação @enableautoconfiguration para desativá -los.
@ComponentsCan: significa que a classe descobrirá automaticamente o componente de varredura. O entendimento pessoal é equivalente a isso, se você digitalizar uma aula com anotações como @component, @Controller, @service, etc. e registrá -la como um feijão, você pode coletar automaticamente todos os componentes da primavera, incluindo a classe @Configuration. Muitas vezes, usamos a anotação @ComponentsCan para procurar feijões e importá -los em combinação com a anotação @Autowired. Todos os componentes da primavera podem ser coletados automaticamente, incluindo a classe @Configuration. Muitas vezes, usamos a anotação @ComponentsCan para procurar feijões e importá -los em combinação com a anotação @Autowired. Se não houver configuração, a bota de primavera digitalizará as classes no pacote em que a classe de inicialização está localizada e a subpackage que usa as anotações de @service, @repository, etc.
@Configuration: equivalente a um arquivo de configuração XML tradicional. Se algumas bibliotecas de terceiros precisarem usar arquivos XML, recomenda -se ainda usar a classe @Configuration como a principal classe de configuração do projeto - você pode usar a anotação @IMPORTRESource para carregar o arquivo de configuração XML.
@Import: usado para importar outras classes de configuração.
@IMPORTRESOURCE: Usado para carregar o arquivo de configuração XML.
@Autowired: Importar automaticamente feijões dependentes
@Service: componentes que geralmente são usados para modificar a camada de serviço
@Repository: Usando a anotação @repository pode garantir que o DAO ou os repositórios forneçam tradução de exceção. A classe DAO ou repositórios modificada por esta anotação será descoberta e configurada pelo ComposnetScan, e não há necessidade de fornecer a eles itens de configuração XML.
@Bean: use o método de anotação @Bean para ser equivalente ao feijão configurado no XML.
@Value: injete o valor da propriedade configurada pelo Spring Boot Application.properties. Código de exemplo:
@Value (value = "#{message}") Mensagem de string privada;@Inject: equivalente ao @Autowired padrão, mas sem o atributo necessário;
@Component: refere -se a componentes em geral. Quando os componentes não são fáceis de classificar, podemos usar essa anotação para anotar.
@Bean: É equivalente ao XML, colocado em cima de um método, não uma classe, o que significa gerar um feijão e entregá -lo ao gerenciamento da primavera.
@Autowired: importe automaticamente grãos dependentes. Método bytype. Use o feijão configurado para concluir a montagem de propriedades e métodos. Ele pode marcar variáveis, métodos e construtores de membros da classe para concluir o trabalho automático de montagem. Quando (exigido = false) é adicionado, um erro não será relatado, mesmo que o feijão não possa ser encontrado.
@Qualifier: Quando houver vários feijões do mesmo tipo, você pode usar @qualifier ("nome") para especificá -lo. Trabalha com @Autowired. Além de injetar de acordo com o nome, os descritores do qualificador @qualifier podem ser usados para executar controles mais finos de granularidade como selecionar candidatos. O método de uso específico é o seguinte:
@Autowired @Qualifier (value = "DemoinFoservice") DemoiMervice Demoinfoservice privado;
@Resource (name = "nome", tipo = "tipo"): se não houver conteúdo entre colchetes, o padrão será byname. Faça algo semelhante a @Autowired.
3. Notas JPA
@Entity: @Table (name = ""): indica que esta é uma classe de entidade. Geralmente usado para as duas anotações da JPA, mas se o nome da tabela e o nome da classe da entidade forem iguais, @Table poderá ser omitido.
@MapDSuperClass: Usado para determinar a entidade que é a classe pai. A subclasse de atributo da classe pai pode ser herdada.
@NorepositoryBean: geralmente usado como o repositório da classe pai. Com esta anotação, a primavera não instanciará o repositório.
@Column: Se o nome do campo for o mesmo que o nome da coluna, ele poderá ser omitido.
@Id: significa que esse atributo é a chave primária.
@GeneratedValue (estratégia = generationType.Sequence, generator = "reparo_seq"): significa que a estratégia de geração de chaves primária é a sequência (pode ser automática, identidade, nativa etc., o automóvel significa que ela pode alternar entre vários bancos de dados) e o nome da sequência especificada é reparada.
@SequenceGeneTor (name = "repare_seq", sequenceName = "seq_repair", alocationize = 1): nome é o nome da sequência, de modo que o nome do sequencene é o nome de sequência do banco de dados e os dois nomes podem ser consistentes.
@Transient: significa que esta propriedade não é um mapa para um campo na tabela de banco de dados, e a estrutura ORM ignorará essa propriedade. Se um atributo não for um mapa de campo de uma tabela de banco de dados, ele deve ser marcado como @Transient. Caso contrário, o ORM Framework padroniza sua anotação como @basic. @Basic (fetch = fetchtype.lazy): a tag pode especificar como os atributos da entidade são carregados
@Jsonignore: a função é ignorar algumas propriedades no feijão Java ao serializar o JSON, e tanto a serialização quanto a desserialização são afetadas.
@Joincolumn (name = "LoginId"): One-To-One: Chaves estrangeiras nesta tabela apontando para outra tabela. Um para muitos: outra tabela aponta para a chave estrangeira desta tabela.
@Onetoone, @onetomany, @ManytoOne: correspondendo a um a um, um para muitos e muitos para um no arquivo de configuração de hibernato.
4. Notas relacionadas ao Springmvc
@RequestMapping: @ReQuestMapping ("/PATH") significa que o controlador lida com todas as solicitações de URL para "/caminho". O RequestMapping é uma anotação usada para lidar com mapeamentos de endereço de solicitação e pode ser usada em classes ou métodos.
Para uso em uma classe, todos os métodos que representam que as solicitações de resposta em uma classe tomam esse endereço como o caminho pai. Esta anotação tem seis atributos:
@RequestParam: usado antes do parâmetro do método.
@RequestParam String a = request.getParameter ("A"). @PathVariable: PathVariable. Por exemplo, requestmapping ("user/get/mac/{macaddress}") public string getByMacaddress (@PathVariable String macaddress) {// faça algo; }Os parâmetros devem ser os mesmos que os nomes nos aparelhos.
5. Manipulação de exceção global
@Controlleradvice: contém @component. Pode ser digitalizado. Manipulação de exceção unificada.
@ExceptionHandler (Exception.Class): usado no método para indicar que, se você encontrar essa exceção, executará o método a seguir.
O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.