我的第一個Spring程式
本專案是基于Mavan創建.
1.創建專案

java包需要Sources Root
resurose包需要Resources Root
test包需要Test Sources Root
pom.xml匯入依賴
<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>4.3.7.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>4.3.7.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>4.3.7.RELEASE</version> </dependency> <!-- https://mvnrepository.com/artifact/commons-logging/commons-logging --> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.2</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-expression</artifactId> <version>4.3.7.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>4.3.7.RELEASE</version> <scope>test</scope> </dependency>
2.在dao包下創建SpringDao介面
/** * @Description TODO * @Author Charon <[email protected]> * @create 2020-11-05-23:32 * @Version 1.0.0 */ public interface SpringDao { public void firstDome(); }
3.在dao包下創建介面的實作類SpringDaoImpl
** * @Description TODO * @Author Charon <[email protected]> * @create 2020-11-05-23:34 * @Version 1.0.0 */ public class SpringDaoImpl implements SpringDao{ @Override public void firstDome() { System.out.println("hello spring"); } }
4.在resurose包下創建Spring的組態檔ApplicationContext.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd"> <!-- 由Spring容器創建這個類的實體; 物件的名稱一般對應到id屬性; class類似于new 后面的類名:全限定包名,一般不能寫介面和抽象類 --> <bean id="springDome1" class="com.charon.dao.SpringDaoImpl"></bean> <bean id="springDome2" class="com.charon.dao.SpringDaoImpl"></bean> </beans>
5.在test包下創建SprinTest
package com.test; import com.charon.dao.SpringDao; import org.junit.Test; import org.springframework.beans.factory.BeanFactory; import org.springframework.beans.factory.xml.XmlBeanFactory; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import org.springframework.core.io.ClassPathResource; import org.springframework.core.io.Resource; import javax.swing.*; /** * @Description TODO * @Author Charon <[email protected]> * @create 2020-11-05-23:38 * @Version 1.0.0 */ public class SpringTest { /** * 第一種獲取實體方法: * 使用ApplicationContext獲取bean實體 * * 根據bean的id獲取bean的實體,如果定義了2個bean不會報錯 */ @Test public void test(){ //定義Spring組態檔的位置 String xmlPath = "ApplicationContext.xml"; //初始化Spring組態檔,加載組態檔 ApplicationContext applicationContext = new ClassPathXmlApplicationContext(xmlPath); //通過容器獲取SpringDaoImpl實體 SpringDao springDome = (SpringDao) applicationContext.getBean("springDome2"); //呼叫SpringDao中的方法 springDome.firstDome(); } /** * 第二種獲方法: * 通過BeanFactory獲取bean的實體 * * 根據bean的id獲取bean的實體,如果定義了2個bean不會報錯 */ @Test public void test1(){ //定義Spring組態檔的位置 String xmlPath = "ApplicationContext.xml"; //決議組態檔 Resource resource =new ClassPathResource(xmlPath); //獲取BeanFactory BeanFactory beanFactory = new XmlBeanFactory(resource); //通過bean的id獲取bean物件 SpringDao springDao = (SpringDao) beanFactory.getBean("springDome1"); //呼叫SpringDao中的方法 springDao.firstDome(); } /** * 第三種獲方法: * 通過BeanFactory獲取bean的實體 * * 根據bean的id獲取bean的實體,如果定義了2個bean不會報錯 */ @Test public void test2(){ //定義Spring組態檔的位置 String xmlPath = "ApplicationContext.xml"; //決議組態檔 Resource resource = new ClassPathResource(xmlPath); //獲取BeanFactory BeanFactory beanFactory =new XmlBeanFactory(resource); //通過bean的id獲取實體 SpringDao springDome1 = beanFactory.getBean("springDome1", SpringDao.class); //呼叫方法 springDome1.firstDome(); } }
專案結構展示

6.運行結果

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/203926.html
標籤:其他
