Spring Framework-01-02-A implementação específica do Spring Framework Simple Demo


Princípios de projeto de arquitetura
Insira a descrição da imagem aqui


URL para baixar o pacote Spring

Abra o site oficial do Spring https://spring.io/

Insira a descrição da imagem aqui

Insira a descrição da imagem aqui

Se não houver logotipo do GitHub à direita, pode ser que o plug-in de bloqueio de anúncios do seu navegador esteja bloqueado, basta abri-lo em outro navegador.
Ou abra diretamente o seguinte URL
https://github.com/spring-projects/spring-framework

Insira a descrição da imagem aqui

Método 1

Insira a descrição da imagem aqui

Insira a descrição da imagem aqui

Insira a descrição da imagem aqui

Método 2

Insira a descrição da imagem aqui

Insira a descrição da imagem aqui
Escolha o do meio

Insira a descrição da imagem aqui

Insira a descrição da imagem aqui

Insira a descrição da imagem aqui

Insira a descrição da imagem aqui

https://repo.spring.io/libs-milestone-local/org/springframework/spring/5.3.0-M2/

Insira a descrição da imagem aqui




Feijão

Insira a descrição da imagem aqui




Demonstração Simples

Crie um projeto Java

  1. Comece a guiar o pacote
    Insira a descrição da imagem aqui

Insira a descrição da imagem aqui
Encontre o arquivo compactado baixado acima, descompacte-o e selecione todos os pacotes na pasta libs

Insira a descrição da imagem aqui
Precisa de um arquivo de origem de dados de ligação, o nome geralmente é: beans.xml ou applicationContext.xml

Insira a descrição da imagem aqui

Abordagem baseada em arquivo XML

Desenho de estrutura de engenharia

Insira a descrição da imagem aqui

beans.xml

Insira a descrição da imagem aqui

<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd">
    
    
    <!-- id名字随意,区分大小写。 class是包名 -->
    <bean id="IntelCpu111" class="com.IntelCpu"></bean>
    <bean id="Computer" class="com.Computer">
     
    	<!-- name=被注入的对象给注入者的属性,ref=注入的目标,是上面自定义的ID -->
        <property name="intelCpu" ref="IntelCpu111"></property>
    </bean>
</beans>


Computer.java

package com;

public class Computer {
    
    
	//Computer类依赖CPU类。
	
	private IntelCpu intelCpu;
	
	
	
	//通过Set方法实现注入
	public void setIntelCpu(IntelCpu intelCpu) {
    
    
		this.intelCpu = intelCpu;
	}

	public void play() {
    
    
		intelCpu.run();
		System.out.println("pc is running");
	}

}

IntelCpu.java

package com;

public class IntelCpu {
    
    

	public void run() {
    
    
		System.out.println("intel cpu is running");
	}
}

Test.java

package com;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Test {
    
    

	public static void main(String[] args) {
    
    
		
		//1. 启动Spring容器,参数是数据配置的文件名,
		ApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml");
		//2. 从容器中拿到对象
		Computer pc = (Computer)ctx.getBean("Computer");
		pc.play();
	}

}

Abordagem baseada em anotações

Estrutura do projeto

Insira a descrição da imagem aqui

Beans.xml

<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd">
    



<!-- 这是注解方式配置 -->
    <context:annotation-config />
    	<!-- 提示扫描那个包的注解 -->
    	<context:component-scan base-package="com">
    </context:component-scan>



</beans>


Computer.java

package com;

import javax.annotation.Resource;

import org.springframework.stereotype.Component;

//@Component表示是Spring当中类的容器的组件
//括号代表着给此对象加上了Id,
//因为不加的话默认会认为此类的名字开头是小写,而实际是大写开头
@Component("Computer")
public class Computer {
    
    
	//Computer类依赖CPU类。
	
	
	//表明是一种资源,有了此注释可以省略相应的Set方法
	@Resource
	private IntelCpu intelCpu;
	
	
//	//通过Set方法实现注入
//	public void setIntelCpu(IntelCpu intelCpu) {
    
    
//		this.intelCpu = intelCpu;
//	}

	public void play() {
    
    
		intelCpu.run();
		System.out.println("pc is running");
	}

}

IntelCpu.java

package com;

import org.springframework.stereotype.Component;

@Component
public class IntelCpu {
    
    

	public void run() {
    
    
		System.out.println("intel cpu is running");
	}
}

Test.java

package com;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Test {
    
    

	public static void main(String[] args) {
    
    
		
		//1. 启动Spring容器,参数是数据配置的文件名,
		ApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml");
		//2. 从容器中拿到对象
		Computer pc = (Computer)ctx.getBean("Computer");
		pc.play();
	}

}


Configuração baseada em Java

Precauções

  • Com base na configuração da anotação acima, o arquivo XML está faltando. Coloque as informações que devem ser configuradas pelo arquivo Xml na classe de teste Test.
  • A diferença com a configuração de anotação acima é que o arquivo de configuração xml é excluído e a anotação é adicionada à classe de teste
  • Nota: O método de teste para obter o contêiner Spring é diferente

Estrutura do projeto

Insira a descrição da imagem aqui

Test.java

package com;

import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;


@Configuration
@ComponentScan("com")
public class Test {
    
    

	public static void main(String[] args) {
    
    
		
		//1. 启动Spring容器,参数当前这个类
		ApplicationContext ctx = new AnnotationConfigApplicationContext(Test.class);
		//2. 从容器中拿到对象
		Computer pc = (Computer)ctx.getBean("Computer");
		pc.play();
	}

}

Acho que você gosta

Origin blog.csdn.net/qq_44627608/article/details/114819764
Recomendado
Clasificación