No passado, o Java Frameworks basicamente usavam o XML como arquivos de configuração, mas agora o Java Frameworks também oferece suporte a "configuração zero" com base na anotação em vez de arquivos de configuração XML. Struts2, Hibernate e Spring começaram a usar a anotação em vez de arquivos de configuração XML; e Spring3.x fornece três opções, a saber: configuração baseada em XML, configuração baseada em anotação e configuração baseada em Java.
A seguir, são apresentados os três métodos de configuração; Primeiro defina um javabean, por exemplo.
pacote com.chinalife.dao classe pública LoginUserdao {... // usado para definir o método de inicialização public void myinit () {} // usado para definir o método de destruição public void myDestroy () {}}1. Configuração baseada em XML
<bean id = "LoginUserdao" class = "com.chinalife.dao.impl.loginuserdaoimpl" lazy-init = "true" init-method = "myinit" de destruição-method = "myDestroy" scope = "prototype"> ... </siean>
Na configuração XML, o feijão é definido através do <Bean> </ Bean> e o nome do feijão é definido através do atributo ID ou nome. Se os atributos de identificação e nome não forem especificados, o Spring usará automaticamente o nome da classe totalmente qualificado como o nome do feijão. Injete o valor no feijão através do atributo dinâmico do elemento filho <Property> ou no espaço de nome P. Você também pode especificar o nome do método da classe de implementação do feijão através das propriedades init-method e Destory-Method de <ean> para definir o método do processo de vida (especifique no máximo um método de inicialização e um método de destruição). Especifique o escopo do feijão através do escopo de <Bean>. Ouvi falar do atributo de entrada preguiçoso de <Bean> especifica se deve atrasar a inicialização.
Quando a classe de implementação do feijão vem de bibliotecas de classes de terceiros, como DataSource, HibernateTemplate, etc., ele não pode anotar informações na classe e só pode ser configurado através do XML; e a configuração dos espaços para nome, como AOP, contexto etc., só pode usar a configuração baseada em XML.
2. Configuração baseada em anotação
@Scope("prototype") @Lazy(true) @Component("loginUserDao") public class LoginUserDao { ... // Used to set the initialization method @PostConstruct public void myInit() { } // Used to set the destruction method @PreDestroy public void myDestroy() { } }Na classe de implementação do feijão, algumas anotações são usadas para anotar a classe Bean:
・ @Component: Anote uma classe Springbean normal (o nome do feijão pode ser especificado e o padrão é o nome da classe que começa com letras minúsculas quando não estiver especificado)
・ @Controller: anote uma classe de controlador
・ @Service: anote uma aula de lógica de negócios
・ @Repository: anote uma classe Dao
Ao rotular @Autowired by Type Combining Injeção em variáveis de membro ou parâmetros de método, você também pode usar o @Qualifier para configurar a injeção pelo nome. O método de inicialização e o método de destruição especificado anotando a anotação @PostConstrut e predestroy (como muitos podem ser definidos). Especifique o escopo da ação do feijão através do @Scope ("protótipo"). Especifique o carregamento preguiçoso do feijão rotulando @lazy (true) na definição da classe.
Quando a classe de implementação do feijão é desenvolvida pelo projeto atual, você pode usar diretamente a configuração baseada em anotação na classe Java e a configuração é relativamente simples.
3. Configuração baseada em Java
@Configuration public class conf {@scope ("prototype") @bean ("LoginUserdao") public LoginUserdao LoginUserdao () {retorna new LoginUserdao (); }}Na classe Java marcada @configuration, defina um feijão anotando @bean no método da classe. Os métodos devem fornecer lógica de instanciação para feijões. O nome do feijão pode ser definido através do atributo de nome @Bean. O nome padrão é o nome do método se não for especificado. No método, use @Autowired para vincular o método ao parâmetro e, em seguida, injete -o através do código no método; Você também pode chamar o método @Bean da classe de configuração para injeção. Especifique um método de inicialização ou destruição através do @initMethod ou DestroyMethod de @Bean. O escopo da ação do feijão é especificado pela definição do método Bean. Especifique a inicialização do atraso do feijão rotulando @Lazy na definição do método Bean.
Quando a lógica de instantar um feijão é mais complicada, é mais adequada para a configuração da classe Java.
Resumir
O exposto acima é todo o conteúdo deste artigo sobre os três métodos de configuração do feijão na primavera 3.x. Espero que seja útil para todos. Amigos interessados podem continuar se referindo a outros tópicos relacionados neste site. Se houver alguma falha, deixe uma mensagem para apontá -la. Obrigado amigos pelo seu apoio para este site!