Recipiente de borboleta

um recipiente de injeção de dependência
Baixe Agora

Recipiente de borboleta Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • The Apache License 2.0
  • Preço:
  • FREE
  • Nome do editor:
  • Jakob Jenkov
  • Site do editor:
  • http://butterfly.jenkov.com/testing-tools/index.html

Recipiente de borboleta Tag


Recipiente de borboleta Descrição

Um recipiente de injeção de dependência O recipiente de borboleta é um recipiente de injeção de dependência. O recipiente de borboleta é um menor, mas mais flexível e mais fácil de usar do que a primavera, o Pico e a Guice. Em vez do recipiente de borboleta XML é configurado usando um idioma de configuração simples, flexível e java. O recipiente elegante de injeção de dependência de java.Butterfly foi inicialmente desenvolvido como uma alternativa leve à primavera. Concedido, já havia um recipiente do Pico, mas tem suas próprias bordas ásperas. Mais tarde veio Guice, mas também tem algumas peculiaridades. Embora a primavera seja razoavelmente simples para configurar, é uma grande estrutura até agora. É preciso um esforço para saber que incluir e não incluir suas dependências. Além disso, seus arquivos de configuração XML são detalhados, tediosos para escrever e não muito fáceis de ler. Simplificador, o recipiente de configuração de Java, like, começou com um formato de arquivo de configuração XML mais simples que molas. Isso logo foi abandonado desde que era inflexível demais. Em vez disso, uma linguagem de script de configuração semelhante a Java foi inventada, chamada script de contêiner de borboleta. Como você verá, essa linguagem de script é uma maneira muito mais simples de configurar um contêiner Di, do que os mecanismos usados pela Primavera, Pico e Guice. Aqui está um exemplo simples: myBean1 = * com.jenkov.mybean (); / * Instanciação Simples * / MyBean2 = * com.jenkov.mybean (MyBean1); / * Injeção de construtor * / myBean3 = * com.jenkov.mybean (myBean2) .setextraan (myBean1); / * Construtor + Setter Injection * / Não parece muito mais como o código Java do que molda arquivos de configuração XML? É muito fácil decifrar as definições de fábrica. A classe MyBean é apenas um exemplo. Pode ser qualquer classe java que você quiser. More Configurationalong flexível com a linguagem de script de configuração veio muitos recursos muito agradáveis e muito flexíveis. Como se estende a uma definição de fábrica existente? Aqui está o quão simples é: myBean1 = * com.jenkov.mybean (); / * Instanciação Simples * / MyBean2 = MyBean1.SetValue ("algum valor"); / * Fábrica estendendo MyBean1 * / Estendendo as definições de fábrica existentes possibilitam se livrar de definições de fábricas próximas de redundantes. Ou quanto a permitir que uma fábrica faça parâmetros de entrada? Aqui está como: myBean1 = * com.jenkov.mybean (); / * Instanciação Simples * / MyBean2 = MyBean1.SetValue ($ 0); / * Injetar parâmetro de entrada * / myBean3 = MyBean2 ("valor de parâmetro"); / * Chamada de fábrica com o parâmetro * / Você pode fazer isso com a primavera, Pico ou Guice? Ainda assim, a linguagem de configuração nova, mais flexível e avançada não fez recipiente de borboleta mais pesado (na verdade, simplificou o design interno). Com um contêiner de borboleta a menos de 70 kb jar ainda é o mais leve contêiner de injeção de dependência de java ao redor.Yet completeven Se o recipiente de borboleta é o mais leve Java Di Recipiente ao redor, ele ainda suporta a maioria, se não todos, Di características oferecidas pela primavera, Pico e Guice. Por exemplo: · Injeção de Construtor · Injeção de Métodos (Estática + Injeção) · Injeção de Fábrica · Gerenciamento de Ciclo de Vida de Instância · Novo / Singleton · Thread Singletons · Locais, Anonymous FactoriesButterfly Recipiente também tem algumas características únicas: · Corrente de métodos em métodos que retornam vazios Adaptação às interfaces de fábrica personalizadas · Requisitos dos pesos dos voos: · Java 2 Edição Standard Runtime Ambiente O que há de novo nesta versão: · Esta versão traz a configuração fácil do mapa e a capacidade de atribuir nomes aos fluxos de entrada da qual você lê os scripts de contêineres. · Esse nome é usado quando um erro é detectado no script, facilitando a descoberta do arquivo no qual o erro ocorreu. · Agora também é possível ter o scriptfactoryBuilder fechar o fluxo de entrada de script para você. · Esta versão também corrige um pequeno bug relacionado a analisando e mensagens de erro.


Recipiente de borboleta Software Relacionado