[Notas da Primavera] Introdução à Primavera e Derivação da Teoria IOC

Propósito da primavera: resolver as complexidades do desenvolvimento de aplicativos corporativos

Prós: Spring é uma estrutura de contêiner leve de Inversão de Controle (ioc) e Orientada a Aspectos (AOP)

spring é um framework livre de código aberto (contêiner)

spring é um framework leve e não intrusivo

Suporte para processamento de transações, suporte para integração de framework

Escopo: Qualquer aplicativo Java

O desenvolvimento java moderno é baseado no desenvolvimento Spring

SpringBoot: Um andaime para desenvolvimento rápido. Um único microsserviço pode ser desenvolvido rapidamente com base no SpringBoot. A convenção é maior que a configuração.

SpringCloud: SpringCloud é implementado com base no SpringBoot.

A maioria das empresas está usando SpringBoot para desenvolvimento rápido. A premissa de aprender SpringBoot é dominar totalmente Spring e SpringMVC

Desvantagens: Foi desenvolvido por muito tempo e a configuração é muito complicada

Derivação teórica do IOC:

 

 

 

 

 

 Requisito: obter banco de dados mysql

private UserDao userDao=novo UserDaoMysqlmpl();

 Requisito: Obter o banco de dados orcle

private UserDao userDao=novo UserDaoMysqlmpl();

 Toda vez que você obtém dados diferentes, você precisa criar uma classe de implementação diferente em new e alterar o código manualmente. O programa não pode se adaptar a mudanças nos requisitos.

Solução: use set para implementar dinamicamente a injeção de valor (foram enviadas alterações revolucionárias)

 

 

 No negócio anterior, as necessidades do usuário podem afetar o código original, e o código original precisa ser modificado de acordo com as necessidades do usuário.

Se a quantidade de código for grande, uma modificação é cara. Antes, os programas criavam objetos ativamente, e o controle estava nas mãos do programador. Depois de usar a injeção de conjunto, o programa não tem mais a iniciativa, mas se torna um objeto receptor passivo.

Essa é a ideia de Inversão de Controle.

Esse tipo de pensamento resolve o problema em essência, sem a necessidade de programadores gerenciarem a criação de objetos. O acoplamento do sistema é bastante reduzido e você pode se concentrar mais na implementação do negócio.

Este é o protótipo do COI.

A iniciativa é passada da camada de negócios para o usuário

 

 

IOC Inversion of Control (Inversion of Control) é uma ideia de projeto, e DI (Dependency Injection) é uma forma de implementar IOC.

Em programas sem IOC, usamos programação orientada a objetos. As dependências entre objetos criados e objetos são completamente codificadas no programa. A criação de objetos é controlada pelo próprio programa. Após o controle ser revertido, a criação de objetos é transferida a um terceiro.

A inversão de controle é a inversão da maneira de obter objetos dependentes

IOC é o conteúdo central do framework Spring, podendo ser configurado usando XML ou anotações.A nova versão do Spring também pode implementar IOC com configuração zero.

Quando o contêiner Spring é inicializado, ele primeiro lê o arquivo de configuração, armazena o objeto no contêiner de acordo com o arquivo de configuração ou metadados e organiza o objeto e, em seguida, retira o objeto necessário do contêiner IOC quando o programa é usado.

Ao configurar Beans em XML, as informações de definição e implementação de Beans são separadas e as anotações podem ser usadas para integrar os dois. As informações de definição do bean são definidas diretamente na classe de implementação na forma de anotações, atingindo assim o objetivo de configuração zero.

A inversão de controle é uma forma de obter um objeto específico por descrição (XML ou anotação) e por terceiros. É o container IOC que implementa a inversão de controle no Spring, e seu método de implementação é Dependency Injection (DI)


Download do site oficial da primavera

maven importa as dependências do spring web mvc:

https://mvnrepository.com/artifact/org.springframework/spring-webmvc/5.3.19

<!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>5.3.19</version>
</dependency>

<!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-jdbc</artifactId>
    <version>5.3.19</version>
</dependency>

Acho que você gosta

Origin blog.csdn.net/m0_52043808/article/details/124371514
Recomendado
Clasificación