国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

JavaWeb-初識Spring

這篇具有很好參考價值的文章主要介紹了JavaWeb-初識Spring。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

  1. Spring簡介

  2. Spring項目

  3. Bean管理

    1. 基于xml的Bean管理

      • 創(chuàng)建對象

      • 屬性注入

    2. 基于xml+注解的Bean管理

      • 創(chuàng)建對象

      • 屬性注入

    3. 基于純注解的Bean管理

內(nèi)容

Spring簡介

  1. Spring是什么

    Spring是于2003 年興起的一個輕量級的Java的開放源代碼的設(shè)計層面框架。Spring解決的是業(yè)務(wù)邏輯層和其他各層的松耦合問題,因此它將面向接口的編程思想貫穿整個系統(tǒng)應(yīng)用。

  2. Spring核心是什么

    Spring的核心是控制反轉(zhuǎn)(IOC)和面向切面(AOP)。

    1. IOC:控制反轉(zhuǎn),將創(chuàng)建對象的過程交給spring進行管理。

    2. AOP:面向切面,在不修改源代碼的情況之下進行代碼功能的增強。

  3. Spring優(yōu)勢是什么

    Spring是為了解決企業(yè)應(yīng)用開發(fā)的復雜性而創(chuàng)建的。Spring框架的主要優(yōu)勢之一就是其分層架構(gòu),分層架構(gòu)允許使用者選擇使用哪一個組件,同時為 JavaEE 應(yīng)用程序開發(fā)提供集成的框架??偨Y(jié)下來分以下幾點:

    1. 方便解耦,簡化開發(fā),Spring就是一個大工廠,可以將所有對象創(chuàng)建和依賴關(guān)系維護,交給Spring管理,這也是IOC的作用。

    2. AOP編程的支持,Spring提供面向切面編程,可以方便的實現(xiàn)對程序進行權(quán)限攔截、運行監(jiān)控等功能。

    3. 聲明式事務(wù)的支持,只需要通過配置就可以完成對事務(wù)的管理,而無需手動編程。

    4. 方便程序的測試,Spring對Junit4支持,可以通過注解方便的測試Spring程序。

    5. 方便集成各種優(yōu)秀框架,Spring不排斥各種優(yōu)秀的開源框架,其內(nèi)部提供了對各種優(yōu)秀框架(如:Struts2、Hibernate、MyBatis等)的直接支持。

    6. 降低JavaEE API的使用難度,Spring 對JavaEE開發(fā)中非常難用的一些API(JDBC、JavaMail等),都提供了封裝,使這些API應(yīng)用難度大大降低。

  4. Bean是什么

    Bean是Spring容器管理的對象。

  5. Spring容器是什么

    Spring容器是創(chuàng)建以及管理Bean對象的。

Spring項目

  1. IDEA創(chuàng)建項目

    JavaWeb-初識Spring

  2. 配置Maven,使用默認版本也可以

    JavaWeb-初識Spring

  3. 導入spring和單元測試junit依賴

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>5.2.12.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.2.12.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>5.2.12.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
    

    JavaWeb-初識Spring

  4. 創(chuàng)建spring-config.xml(文件名隨便取)

    JavaWeb-初識Spring

    JavaWeb-初識Spring

Bean管理

  1. 創(chuàng)建Demo類

    public class Demo {
        private String name;
        private Integer age;
        public Demo(){}
        public Demo(String name, Integer age) {
            this.name = name;
            this.age = age;
        }
        public void setName(String name) {this.name = name;}
        public void setAge(Integer age) {this.age = age;}
        @Override
        public String toString() {
            return "Demo{" +
                    "name='" + name + '\'' +
                    ", age=" + age +
                    '}';
        }
    }
    

    JavaWeb-初識Spring

  2. 創(chuàng)建測試類

    import org.junit.Test;
    
    public class Main {
        @Test
        public void test(){
    
        }
    }
    

    JavaWeb-初識Spring

基于xml的Bean管理

創(chuàng)建對象
  1. spring配置文件(spring-config.xml)添加配置,注冊Demo類為Bean對象

    <bean class="com.example.aji.bean.Demo" id="demo">
    
    </bean>
    

    JavaWeb-初識Spring

  2. 從容器中取出Demo對象

    • ApplicationContext spring上下文

    • ClassPathXmlApplicationContext 以xml配置文件方式創(chuàng)建上下文

    • .getBean(beanName) 跟據(jù)beanName從上下文中獲取Bean對象

    • .getBean(class) 跟據(jù)class從上下文中獲取Bean對象

    @Test
    public void test(){
        ApplicationContext context = new ClassPathXmlApplicationContext("spring-config.xml");
        Demo demo = (Demo)context.getBean("demo");
        System.out.println(demo);
    }
    

    JavaWeb-初識Spring

屬性注入
  1. 構(gòu)造器注入

    • constructor-arg 通過構(gòu)造器注入屬性
    <bean class="com.example.aji.bean.Demo" id="demo">
        <constructor-arg name="name" value="aji"/>
        <constructor-arg name="age" value="20"/>
    </bean>  
    

    JavaWeb-初識Spring

  2. set方法注入

    • property 通過set方法注入屬性
    <bean class="com.example.aji.bean.Demo" id="demo">
        <property name="name" value="aji"/>
        <property name="age" value="21"/>
    </bean> 
    

    JavaWeb-初識Spring

基于xml+注解的Bean管理

  1. 注解

    • 注解是代碼特殊標記,格式:@注解名稱(屬性名稱=屬性值,屬性名稱=屬性值...)

    • 使用注解,注解作用在類上面,方法上面,屬性上邊

    • 使用注解的目的:簡化XML配置

  2. 編輯Spring配置文件添加注解掃描功能

    <!--開啟注解掃描 com.example.aji 所有的包中的所有的類-->
    <context:component-scan base-package="com.example.aji"/>
    

    JavaWeb-初識Spring

創(chuàng)建對象
  1. Spring針對Bean管理中創(chuàng)建對象提供的注解

    • @Component 普通的類

    • @Controller 表現(xiàn)層

    • @Service 業(yè)務(wù)層

    • @Repository 持久層

  2. 創(chuàng)建普通對象

    import org.springframework.stereotype.Component;
    @Component
    public class Demo {
        private String name;
        private Integer age;
        public Demo(){}
        public Demo(String name, Integer age) {
            this.name = name;
            this.age = age;
        }
        @Override
        public String toString() {
            return "Demo{" +
                    "name='" + name + '\'' +
                    ", age=" + age +
                    '}';
        }
    }
    

    JavaWeb-初識Spring

  3. 創(chuàng)建業(yè)務(wù)層對象

    • 創(chuàng)建DemoService接口

      public interface DemoService {
          Demo getDemo();
      }
      
    • 創(chuàng)建DemoServiceImpl實現(xiàn)DemoService接口變更添加

      import com.example.aji.bean.Demo;
      import com.example.aji.service.DemoService;
      import org.springframework.stereotype.Service;
      
      @Service(value = "demoService")
      public class DemoServiceImpl implements DemoService {
          @Override
          public Demo getDemo() {
              return new Demo("aji",20);
          }
      }
      

      JavaWeb-初識Spring

    JavaWeb-初識Spring

  4. 其他對象也類似,添加相應(yīng)注解即可

屬性注入
  1. 屬性注入注解

    • @Value 用于注入普通類型(String,int,double等類型)

    • @Autowired 默認按類型進行自動裝配(引用類型)

    • @Qualifier 不能單獨使用必須和@Autowired一起使用,強制使用名稱注入

    • @Resource Java提供的注解,也被支持。使用name屬性,按名稱注入

  2. @Value

    @Component
    public class Demo {
        @Value("aji")
        private String name;
        @Value(value = "21")
        private Integer age;
    
        @Override
        public String toString() {
            return "Demo{" +
                    "name='" + name + '\'' +
                    ", age=" + age +
                    '}';
        }
    }
    

    JavaWeb-初識Spring

  3. @Autowired

    import com.example.aji.bean.Demo;
    import com.example.aji.service.DemoService;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Service;
    
    @Service(value = "demoService")
    public class DemoServiceImpl implements DemoService {
        @Autowired
        private Demo demo;
    
        @Override
        public Demo getDemo() {
            return demo;
        }
    }
    

    JavaWeb-初識Spring

基于純注解的Bean管理

  1. 刪除spring-config.xml文件,并創(chuàng)建SpringConfig類,添加@Component注解把該類交給spring處理,添加@ComponentScan注解指定spring掃描的包路徑

    @Component
    @ComponentScan("com.example.aji")
    public class SpringConfig {
    }
    

    JavaWeb-初識Spring

  2. 測試(其余部分與xml+注解方式一致)

    @Test
    public void test(){
        //ApplicationContext context = new ClassPathXmlApplicationContext("spring-config.xml");
        ApplicationContext context = new AnnotationConfigApplicationContext(SpringConfig.class);
        /*Demo demo = (Demo)context.getBean("demo");
        System.out.println(demo);*/
        DemoService demoService = (DemoService)context.getBean("demoService");
        System.out.println(demoService.getDemo());
    }
    

    JavaWeb-初識Spring文章來源地址http://www.zghlxwxcb.cn/news/detail-711016.html

到了這里,關(guān)于JavaWeb-初識Spring的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • JavaWeb_瑞吉外賣_項目優(yōu)化Day10-Spring Cache

    提交步驟: 生成空倉庫, 不要加任何文件 右鍵項目, add整個項目 commit和push, push時添加遠程倉庫地址 新建分支步驟: 在本地新建一個分支 push 注入redis對象 將驗證碼保存到redis, 有效期5分鐘 獲取驗證碼, 登錄成功后刪除驗證碼 獲取緩存數(shù)據(jù) 刪除緩存數(shù)據(jù) Spring Cache是一個框架,

    2024年02月13日
    瀏覽(23)
  • nginx簡介與安裝配置,目錄結(jié)構(gòu)和配置文件介紹,配置nginx的service管理

    nginx簡介與安裝配置,目錄結(jié)構(gòu)和配置文件介紹,配置nginx的service管理

    目錄 一.nginx簡介 1.簡介 2.特性 二.nginx安裝 1.rpm包方式 (1)下載擴展源 (2)安裝擴展rpm包,nginx -V查看配置參數(shù),后面源碼安裝時要用到 (3)默認的配置文件位置和html存放位置 2.源碼方式 (1)建議提前下好所需要的部分包 (2)下載tar.gz包 (3)建議將包解壓到/usr/local

    2024年02月04日
    瀏覽(31)
  • 初識FreeRTOS入門,對FreeRTOS簡介、任務(wù)調(diào)度、內(nèi)存管理、通信機制以及IO操作,控制兩個led不同頻率閃爍

    當代嵌入式系統(tǒng)的開發(fā)越來越復雜,實時性要求也越來越高。為了滿足這些需求,開發(fā)者需要使用實時操作系統(tǒng)(RTOS),其中一個流行的選擇是FreeRTOS(Free Real-Time Operating System)。本篇博客將詳細介紹FreeRTOS的特性、任務(wù)調(diào)度、內(nèi)存管理、通信機制以及一些示例代碼。 FreeR

    2024年02月14日
    瀏覽(20)
  • Javaweb項目案例:一個簡單的用戶管理系統(tǒng)實現(xiàn)

    Javaweb項目案例:一個簡單的用戶管理系統(tǒng)實現(xiàn)

    我們來設(shè)計一個簡單的用戶管理系統(tǒng),具有查看用戶,添加用戶,刪除用戶,更新用戶的所有功能,并能支持分頁顯示,以及通過模糊查詢的 本項目采用Druid數(shù)據(jù)庫連接池 注意:JDBC和DAO部分本文不予演示,請自行完成此部分代碼的編寫??? 模板頁面,showuser.html Sho

    2024年02月09日
    瀏覽(25)
  • JavaWeb項目:航班信息管理系統(tǒng)(tomcat+jsp)

    JavaWeb項目:航班信息管理系統(tǒng)(tomcat+jsp)

    航班信息管理系統(tǒng)是學習Javaweb的一個小項目,首先對該項目的業(yè)務(wù)需求進行分析,根據(jù)項目文檔知它的主要實現(xiàn)技術(shù)為 SERVLET、JSP、MVC 架構(gòu)、JDBC 和 MySQL。該項目著重學生的實際應(yīng)用場景來設(shè)計,模擬 機場中的航班系統(tǒng)的業(yè)務(wù)實現(xiàn)以及擴展,能夠?qū)崿F(xiàn)航班信息管理的的所有功

    2024年04月12日
    瀏覽(21)
  • Spring Boot項目 目錄結(jié)構(gòu)

    根目錄: com.zhangziwa.practisesvr 啟動類: com.zhangziwa.practisesvr.PractisesvrApplication 實體類: com.zhangziwa.practisesvr.model 數(shù)據(jù)傳輸對象(dto): com.zhangziwa.practisesvr.dto 視圖包裝對象(vo)推薦: com.zhangziwa.practisesvr.vo 數(shù)據(jù)接口訪問層(Dao): com.zhangziwa.practisesvr.mapper 數(shù)據(jù)服務(wù)接口層(S

    2024年01月25日
    瀏覽(25)
  • JavaWeb——基于Spring Boot的圖書數(shù)字化管理系統(tǒng)的設(shè)計與實現(xiàn)

    JavaWeb——基于Spring Boot的圖書數(shù)字化管理系統(tǒng)的設(shè)計與實現(xiàn)

    課程設(shè)計總結(jié) 隨著信息技術(shù)的快速發(fā)展,數(shù)字化管理已經(jīng)成為各行各業(yè)提高效率和管理水平的重要手段。在圖書管理領(lǐng)域,數(shù)字化管理系統(tǒng)可以有效地提高管理效率,提供更好的用戶體驗。本項目旨在開發(fā)一個基于 Spring Boot 的圖書數(shù)字化管理系統(tǒng),為管理員和讀者提供便捷

    2024年02月15日
    瀏覽(35)
  • 超適合練手的一套JavaWeb項目 (超市后臺管理系統(tǒng))

    超適合練手的一套JavaWeb項目 (超市后臺管理系統(tǒng))

    1.搭建一個maven web項目 2.配置Tomcat 3.測試項目是否能夠跑起來 4.導入項目中遇到的jar包 5.創(chuàng)建項目結(jié)構(gòu) 1.數(shù)據(jù)庫配置文件 db.properties文件代碼 2.編寫數(shù)據(jù)庫的公共類 java代碼 3.編寫字符編碼過濾器 xml代碼 java dao層接口代碼 java dao接口的實現(xiàn)類代碼 java service接口代碼

    2024年02月05日
    瀏覽(22)
  • Java項目:基于JavaWeb的教務(wù)管理系統(tǒng)的設(shè)計與實現(xiàn)

    Java項目:基于JavaWeb的教務(wù)管理系統(tǒng)的設(shè)計與實現(xiàn)

    作者主頁:夜未央5788 ?簡介:Java領(lǐng)域優(yōu)質(zhì)創(chuàng)作者、Java項目、學習資料、技術(shù)互助 文末獲取源碼 項目介紹 本項目為基于WEB的教務(wù)管理系統(tǒng)。 主要系統(tǒng)功能包括: 學生管理:顯示所有學生、添加學生; 課程管理:顯示所有課程、添加課程; 學院管理:顯示所有學院、添加學

    2024年02月11日
    瀏覽(21)
  • JavaWeb開發(fā)06-原理-Spring配置優(yōu)先級-Bean管理-SpringBoot原理-Maven繼承和聚合-私服

    JavaWeb開發(fā)06-原理-Spring配置優(yōu)先級-Bean管理-SpringBoot原理-Maven繼承和聚合-私服

    不同配置文件,配置同一個屬性誰有效 propertiesymlyaml 命令行參數(shù)Java系統(tǒng)屬性 項目打包后要改變屬性: 紅色是Java系統(tǒng)屬性,綠色是命令行參數(shù) ‘ 獲取IOC容器:applicationContext就是IOC容器對象 IOC容器中bean是默認單例的只有一個,這樣三個獲取的bean是同一個 單例還是多例取決

    2024年04月23日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包