日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Spring第一讲:初步了解Spring

發布時間:2025/4/5 javascript 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring第一讲:初步了解Spring 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、什么是Spring,什么是bean?

Spring是一種框架,Spring框架主要提供了IoC容器、AOP、數據訪問、Web開發、消息、測試等相關技術的支持。每一個沒Spring管理的 Java對象都稱之為bean

.利用Spring容器管理Bean方法:

  • 采用Spring配置文件管理Bean
  • 利用注解精簡Spring配置文件
  • 利用注解配置類取代Spring配置文件
  • 利用Java配置類管理Bean
  • 二、今天我們要學習的內容

    采用Spring配置文件管理Bean

    三、創建項目

    創建好項目后,第一步在pom文件里面添加相關的依賴

    附上pom文件代碼:

    <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>net.lbd.spring</groupId><artifactId>SpringDemo2020</artifactId><version>1.0-SNAPSHOT</version><properties><!-- spring.version --><spring.version>5.3.4</spring.version></properties><dependencies><!--Spring核心--><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>${spring.version}</version></dependency><!--Spring Bean--><dependency><groupId>org.springframework</groupId><artifactId>spring-beans</artifactId><version>${spring.version}</version></dependency><!--Spring容器--><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>${spring.version}</version></dependency><!--Spring測試--><dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>${spring.version}</version></dependency><!--單元測試--><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.13</version><scope>test</scope></dependency></dependencies> </project>

    ?

    新建包net.lbd.spring.lesson01

    ?

    在新建的包下面新建SlayDragonQuest類文件

    ?

    在新建BraveKnight類文件

    BraveKnight里面的代碼? :

    package net.lbd.spring.lesson01;public class BraveKnight {private SlayDragonQuest slayDragonQuest;public void setSlayDragonQuest(SlayDragonQuest slayDragonQuest) {this.slayDragonQuest = slayDragonQuest;}public void embarkOnQuest(){slayDragonQuest.embark();} }

    ?

    在test/java下面新建一個表

    ?

    在新建好的包下面新建TestbraveKnight類文件

    TestbraveKnight里面的代碼:

    package net.lbd.spring.lesson01;import org.junit.Test;public class TestBraveKnightOld {@Testpublic void testBraveKnight(){//創建殺龍任務SlayDragonQuest slayDragonQuest = new SlayDragonQuest();//創建勇敢騎士對象BraveKnight braveKnight = new BraveKnight();//設置勇敢騎士的殺龍任務屬性braveKnight.setSlayDragonQuest(slayDragonQuest);//勇敢騎士執行任務braveKnight.embarkOnQuest();} }

    創建log4.properties文件

    log4.properties文件代碼:

    log4j.rootLogger=WARN, stdout, logfile log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n log4j.appender.logfile=org.apache.log4j.FileAppender log4j.appender.logfile.File=target/spring.log log4j.appender.logfile.layout=org.apache.log4j.PatternLayout log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n

    進去名字隨意,點擊OK

    ?

    ?

    ?

    代碼:

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"><bean id="slayDragonQuest" class="net.lbd.spring.lesson01.SlayDragonQuest"/><bean id="Mike" class="net.lbd.spring.lesson01.BraveKnight"><property name="slayDragonQuest" ref="slayDragonQuest"/></bean></beans>

    創建類文件

    代碼:

    package net.lbd.spring.lesson01;import org.junit.After; import org.junit.Before; import org.junit.Test; import org.springframework.context.annotation.ClassPathBeanDefinitionScanner; import org.springframework.context.support.ClassPathXmlApplicationContext;/*** 功能:采用Spring容器測試勇敢騎士類*/public class TestBraveKnightNew {private ClassPathXmlApplicationContext context;//基于類路徑XML配置文件的應用容器@Beforepublic void init(){//基于類路徑配置文件的應用容器context = new ClassPathXmlApplicationContext("xmlconfig/spring-config.xml");//提示用戶System.out.println("Spring應用容器已經創建!");}@Testpublic void testBraveKnight(){//根據名稱從應用容器中獲取勇敢騎士對象BraveKnight braveKnight = (BraveKnight) context.getBean("Mike");//勇敢騎士執行任務BraveKnight.embarkOnQuest();}@Afterpublic void destroy(){context.close();//提示用戶System.out.println("Spring應用容器已經關閉!");} }

    運行測試方法,查看結果

    ?

    在spring配置文件里面在創建兩個勇敢騎士bean

    ?

    修改測試類

    ?

    運行查看結果

    ?

    ?

    新建這倆個類

    ?

    代碼:

    package net.lbd.spring.lesson01; /*** 功能:拯救少女任務類* 作者:* 日期:*/ public class RescueDamselQuest {public void embark() {System.out.println("執行拯救少女任務。");} }

    ?

    package net.lbd.spring.lesson01;/*** 功能:拯救少女騎士類* 作者:* 日期:*/ public class DamselRescuingKnight {private RescueDamselQuest rescueDamselQuest;public DamselRescuingKnight(RescueDamselQuest rescueDamselQuest) {this.rescueDamselQuest = rescueDamselQuest;}public void embarkOnQuest() {rescueDamselQuest.embark();} }

    在Spring配置文件里創建拯救少女騎士Bean

    附上代碼:

    <bean id="rescueDamselQuest" class="net.lbd.spring.lesson01.RescueDamselQuest"/> <bean id="damselRescuingKnight" class="net.lbd.spring.lesson01.DamselRescuingKnight"><constructor-arg ref="rescueDamselQuest"/> </bean>

    創建TestDamselRescuingKnightOld

    ?

    附上代碼:

    package net.lbd.spring.lesson01;import net.lbd.spring.lesson01.DamselRescuingKnight; import net.lbd.spring.lesson01.RescueDamselQuest; import org.junit.Test;/*** 功能:采用傳統方式測試拯救少女騎士類* 作者:* 日期:*/ public class TestDamselRescuingKnightOld {@Testpublic void testDamselRescuingKnight() {// 創建拯救少女任務對象RescueDamselQuest rescueDamselQuest = new RescueDamselQuest();// 創建拯救少女騎士對象DamselRescuingKnight damselRescuingKnight = new DamselRescuingKnight(rescueDamselQuest);// 拯救少女騎士執行任務damselRescuingKnight.embarkOnQuest();} }

    ?

    運行測試,查看結果

    ?

    ?

    附上代碼:

    package net.lbd.spirng.lesson01;

    import net.lbd.spring.lesson01.DamselRescuingKnight;
    import org.junit.After;
    import org.junit.Before;
    import org.junit.Test;
    import org.springframework.context.support.ClassPathXmlApplicationContext;

    /**
    ?* 功能:采用Spring容器測試拯救少女騎士類
    ?* 作者:
    ?* 日期:
    ?*/
    public class TestDamselRescuingKnightNew {
    ? ? private ClassPathXmlApplicationContext context;

    ? ? @Before
    ? ? public void init() {
    ? ? ? ? // 基于Spring配置創建應用容器
    ? ? ? ? context = new ClassPathXmlApplicationContext("xmlconfig/spring-config.xml");
    ? ? }

    ? ? @Test
    ? ? public void testDamselRescuingKnight() {
    ? ? ? ? // 根據名稱從應用容器里獲取拯救少女騎士對象
    ? ? ? ? DamselRescuingKnight damselRescuingKnight = (DamselRescuingKnight) context.getBean("damselRescuingKnight");
    ? ? ? ? // 拯救少女騎士執行任務
    ? ? ? ? damselRescuingKnight.embarkOnQuest();
    ? ? }

    ? ? @After
    ? ? public void destroy() {
    ? ? ? ? // 關閉應用容器
    ? ? ? ? context.close();
    ? ? }
    }

    ?

    執行查看結果

    總結

    以上是生活随笔為你收集整理的Spring第一讲:初步了解Spring的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。