Gerenciamento de feijão ICO baseado em anotações

1. Introdução às anotações

1. O que é um comentário

(1) A anotação é uma marca especial de código, formato: @ Nome da anotação (nome do atributo = valor do atributo, nome do atributo = valor do atributo ...)
(2) Use anotações, as anotações são aplicadas a classes, métodos e atributos
(3) Use anotações Objetivo: simplificar a configuração do xml

2. Spring fornece anotações para a criação de objetos no gerenciamento de Bean

(1) @Component : uma anotação universal que pode ser usada para criar qualquer objeto
(2) @Service : geralmente usado na camada de lógica de negócios ou camada de serviço
(3) @Controller : geralmente o mesmo que a camada Web
(4) @Repository : Geralmente usado para camada DAO
As quatro funções de anotação acima são as mesmas e podem ser usadas para criar instâncias de bean

  • Observe que as anotações precisam ser importadas para o pacote aop mostrado abaixo

Insira a descrição da imagem aqui

2. Como usar anotações? um exemplo

(1) Introduzir dependência

Insira a descrição da imagem aqui

(2) Ligue a varredura de componente

  • Apresente o namespace:
    Insira a descrição da imagem aqui
  • Ativar verificação de componente
    Insira a descrição da imagem aqui

(3) Crie uma classe e adicione anotações à classe

  • Adicione a anotação @Component (value = "userService") à classe chamada, onde value é equivalente ao atributo id em XML
    Insira a descrição da imagem aqui

  • Para testar se a anotação foi bem-sucedida, observe que bean1.xml deve ser lido, porque a varredura de componente está habilitada em bean1.xml
    Insira a descrição da imagem aqui

4. Ative a configuração detalhada de verificação de componente

<!--示例1 use-default-filters="false" 表示现在不使用默认filter,自己配置filter context:include-filter,设置扫描哪些内容--> 

<context:component-scan base-package="com.atguigu" use-defaultfilters="false"> 
<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/> </context:component-scan>


<!--示例2 下面配置扫描包所有内容 context:exclude-filter: 设置哪些内容不进行扫描--> 

<context:component-scan base-package="com.atguigu"> 
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/> 
</context:component-scan>

3. Perceba a injeção de atributos com base na anotação

(1) @Autowired: Montagem automática de acordo com o tipo de atributo

  • Devido à montagem automática, não há atributo de valor, mas sim montagem automática de acordo com o tipo
  • A primeira etapa é criar objetos de serviço e dao e adicionar anotações de objeto de criação às classes de serviço e dao
    Insira a descrição da imagem aqui
    Insira a descrição da imagem aqui
    Insira a descrição da imagem aqui
  • A segunda etapa é injetar o objeto dao no serviço, adicionar atributos de tipo dao à classe de serviço e usar anotações nos atributos

Insira a descrição da imagem aqui
@Autowired será montado automaticamente de acordo com o tipo de UserDaoImpl

Insira a descrição da imagem aqui

(2) @Qualifier: injetar de acordo com o nome

Usado com @Autowired acima, no pacote Javax
Insira a descrição da imagem aqui
Insira a descrição da imagem aqui
Insira a descrição da imagem aqui

(3) @Resource: pode ser injetado de acordo com o tipo, pode ser injetado de acordo com o nome

 //@Resource //根据类型进行注入 
 @Resource(name = "userDaoImpl1") //根据名称进行注入 
 private UserDao userDao;

(4) @Value injeta atributos de tipo comum

  • Use antes dos atributos de tipo normal
    Insira a descrição da imagem aqui
    Insira a descrição da imagem aqui

4. Desenvolvimento Totalmente Anotado

Antes, usávamos arquivos XML para ativar a varredura de componente, mas podemos usar anotações para concluir o processo de varredura, portanto, usando completamente XML.
(1) Crie uma classe de configuração para substituir o arquivo de configuração xml
Insira a descrição da imagem aqui

@Configuration  //作为配置类,替代XML
@ComponentScan(basePackages = {
    
    "com.LinXiaoDe.spring5"})
public class SpringConfig {
    
    
}

(2) Escrever classes de teste e usar AnnotationConfigApplicationContext(SpringConfig.class)classes de configuração de carga
Insira a descrição da imagem aqui
para usar no SpringBoot para simplificar o desenvolvimento

Acho que você gosta

Origin blog.csdn.net/weixin_44307065/article/details/107306107
Recomendado
Clasificación