1. Princípio da primavera
O mais núcleo interno é o COI. A injeção dinâmica torna desnecessário criar um objeto e pode ser produzido automaticamente. Isso está realmente usando a reflexão em Java. A reflexão é realmente para criar e chamar objetos dinamicamente em tempo de execução. A primavera é criar dinamicamente os objetos e chamar métodos no objeto em tempo de execução, com o arquivo de configuração XMLSpring.
A Spring possui outro núcleo, AOP, que é a programação orientada a aspectos, pode supervisionar e controlar um certo tipo de objeto (ou seja, chamar o módulo que você especificou antes e depois de chamar os métodos específicos desse tipo de objeto) para alcançar a função de expandir um módulo. Estes são alcançados por meio de classes de configuração.
Objetivo da primavera: fazer a relação entre objetos (módulos e módulos) não relacionados através do código e todos são gerenciados por meio da descrição da classe de configuração (mola monta dinamicamente os objetos através da reflexão com base nessas configurações)
Lembre -se: a primavera é um contêiner e apenas objetos no contêiner têm esses serviços e funções fornecidas pela primavera.
O padrão de design mais clássico usado na primavera é: padrão de método de modelo. (Não vou apresentá -lo aqui, é um padrão de design muito comum). Existem muitas configurações na primavera, o que é difícil de lembrar, mas a essência da primavera nada mais é do que os dois pontos acima. Depois de entender os dois pontos acima, você basicamente domina a primavera.
SpringAop e COI
1. IOC (InversionOfControl): Controle inversão
1. COI:
Conceito: o controle é transferido do próprio objeto para o contêiner; O contêiner cria instâncias com base no arquivo de configuração e cria dependências entre cada instância.
Núcleo: Fábrica de Bean; Na primavera, os vários casos criados pela Factory Bean são chamados de feijão
2.
1. Duas maneiras de proxy:
Proxy estático:
Escreva classes de proxy para cada classe específica;
Scrição de uma classe proxy para uma interface;
Proxy dinâmico:
Escreva um InvocationHandler para um aspecto e, em seguida, peça emprestado a classe Proxy no pacote de reflexão JDK para gerar dinamicamente as classes de proxy correspondentes para várias interfaces.
2. Proxy dinâmico:
Não há necessidade de escrever uma classe proxy. A máquina virtual gera uma classe baseada na interface implementada pelo objeto real. Ele instancia um proxy dinâmico através da classe. Ao instantar o proxy dinâmico, o objeto e o equipamento reais são injetados no proxy dinâmico. O proxy dinâmico expõe o proxy dinâmico. Quando o cliente chama o método dinâmico de proxy, o proxy dinâmico obtém o método do objeto real com base na reflexão da classe, chama o método de invocação do equipamento e passa os parâmetros dinâmicos de proxy, método e método para o método de invasão do equipamento. O método Invoke faz algum processamento antes ou depois de evocar o método do método.
1. Classes que geram proxy dinâmico:
java.lang.refect.Proxy
2. O equipamento deve implementar a interface InvocationHandler para implementar o método de invasão
3. Reflexão
O que é um desconto da classe?
Através da descrição da classe, você pode obter a classe pai da classe, interface implementada, classe interna, construtor, método e atributo. Você pode instanciar um objeto de acordo com o construtor, evocar um método, pegar o valor do atributo e alterar o valor do atributo. Como obter uma descrição de classe:
Classe cls = classe.class; Classe cls = object.getClass (); Class.ForName ("ClassPath");Como obter um método e evocar?
Classe cls = classe.class; Constructor Cons = cls.getConstructor (nova classe [] {string.class}); Objeto obj = conts.newInstance (novo objeto [] {"aaa"}); Método método = cls.getMethod ("Nome do método", nova classe [] {string.class, Integer.class}); métod.invoke (obj, novo objeto [] {"aa", novo inteiro (1)}); 4. Quais são os três métodos de injeção da primavera?
Setter
interface
construtor
5. Quais são os arquivos de configuração principal da interface e do kernel da mola?
FactoryBean: os feijões de fábrica implementam principalmente o IOC/DI ApplicationContext AC = new FileXMLApplicationContext ("ApplicationContext.xml"); Objeto obj = ac.getBean ("valor de identificação");6. 7 Módulos da estrutura da mola
A estrutura do pring é uma arquitetura hierárquica que consiste em 7 módulos bem definidos. Os módulos de primavera são construídos sobre o contêiner principal, que define como os feijões são criados, configurados e gerenciados. Cada módulo (ou componente) que compõe a estrutura da mola pode existir sozinho ou ser implementado em conjunto com um ou mais outros módulos. As funções de cada módulo são as seguintes:
Contêiner do núcleo: o contêiner do núcleo fornece as funções básicas da estrutura da mola. O principal componente do contêiner principal é o BeanFactory, que é uma implementação do padrão de fábrica. O BeanFactory usa o modo de inversão do controle (IOC) para separar as especificações de configuração e dependência de um aplicativo do código de aplicativo real.
Contexto da mola: o contexto da primavera é um arquivo de configuração que fornece informações de contexto para a estrutura da mola. O contexto da primavera inclui serviços corporativos como JNDI, EJB, e -mail, internacionalização, recursos de soma de verificação.
Spring AOP: Através do recurso de gerenciamento de configuração, o módulo Spring AOP integra diretamente as funções de programação orientadas a aspectos na estrutura da mola. Portanto, é fácil tornar qualquer objeto gerenciado pela Spring Framework Support AOP. O módulo Spring AOP fornece serviços de gerenciamento de transações para objetos em aplicativos baseados em primavera. Ao usar a Spring AOP, o gerenciamento de transações declarativas pode ser integrado ao aplicativo sem depender dos componentes EJB.
Spring DAO: A camada de abstração JDBC DAO fornece uma hierarquia de exceção significativa que pode ser usada para gerenciar mensagens de manuseio de exceções e erros lançadas por diferentes fornecedores de banco de dados. A hierarquia de exceção simplifica o manuseio de erros e reduz bastante a quantidade de código de exceção que precisa ser escrito (como abertura e fechamento de conexões). As exceções orientadas a JDBC da Spring Dao seguem a hierarquia de exceção da DAO comum.
Spring ORM: O Spring Framework insere várias estruturas ORM, fornecendo assim ferramentas de relacionamento com objetos ORM, incluindo JDO, Hibernate e Ibatis SQL Map. Tudo isso segue a transação comum da primavera e a hierarquia de exceção Dao.
Módulo da Web da primavera: O módulo de contexto da Web é construído no módulo de contexto de aplicativos e fornece contexto para aplicativos baseados na Web. Portanto, o Spring Framework suporta integração com os suportes de Jacarta. O módulo da Web também simplifica o trabalho de lidar com solicitações de várias partes e parâmetros de solicitação de ligação aos objetos de domínio.
Spring MVC Framework: O MVC Framework é uma implementação do MVC totalmente funcional para a criação de aplicativos da Web. Através da interface da política, a estrutura do MVC se torna altamente configurável e o MVC abriga um grande número de tecnologias de exibição, incluindo JSP, velocidade, ladrilhos, iText e POI.
Os recursos da Spring Framework podem ser usados em qualquer servidor J2EE, e a maioria deles é adequada para ambientes não gerenciados. O ponto principal da primavera é: Suporte para objetos reutilizáveis de negócios e acesso a dados que não estão vinculados a serviços J2EE específicos. Não há dúvida de que esses objetos podem ser reutilizados entre diferentes ambientes J2EE (Web ou EJB), aplicativos independentes, ambientes de teste.
Resumir
O exposto acima é todo o conteúdo deste artigo sobre a simples exploração do princípio de trabalho da primavera, espero que seja útil para todos. Amigos interessados podem continuar se referindo a este site:
Compartilhamento de Código Prático do Projeto Web Spring Framework
Configuração e análise de configuração comum Descrição da mola
Implementação de programação Java de Springmvc Simple Login Exemplo
Se houver alguma falha, deixe uma mensagem para apontá -la. Obrigado amigos pelo seu apoio para este site!