1. 程式人生 > >Spring框架入門操作

Spring框架入門操作

學了幾個框架之後,學習Spring框架的時候就很簡單了,這篇部落格先說一下spring框架的操作步驟,他的IOC、DI、AOP在以後的文章中再分享。

如何建立一個spring工程,請大家耐心操作。

1.匯入jar包 

在一個maven工程中的pom.xml檔案中匯入 

spring-core   spring-beans  spring-context  commons-logging
<!-- https://mvnrepository.com/artifact/org.springframework/spring-core -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-core</artifactId>
      <version>5.0.8.RELEASE</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.springframework/spring-beans -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-beans</artifactId>
      <version>5.0.8.RELEASE</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>5.0.8.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>

2.建立spring的配置檔案

在resources包下建立.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:mvc="http://www.springframework.org/schema/mvc"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:mc="http://www.springframework.org/schema/mvc"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
		        http://www.springframework.org/schema/beans/spring-beans.xsd
		        http://www.springframework.org/schema/context
		        http://www.springframework.org/schema/context/spring-context.xsd
		        http://www.springframework.org/schema/mvc
		        http://www.springframework.org/schema/mvc/spring-mvc.xsd">
</beans>

3.使用spring容器獲取物件

建立一個實體類

package com.jie;

public class HelloWorld {
    private String name;
    private int age;
    private String address;
    public void sayHello(){
        System.out.println("Hello World!!!!");
    }

    public HelloWorld(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public HelloWorld(String name, int age,String address) {
        this.name = name;
        this.age = age;
        this.address=address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getAddress() {
        return address;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public int getAge() {
        return age;
    }

    public HelloWorld() {
    }
}

在.xml檔案中配置

<!--
id 當前類的名字  唯一的  不可重複
class  類的全限定名稱
scorp  預設:singleton(單例模式)  prototype多例模式  request  session
-->
    <bean class="com.jie.HelloWorld" name="helloWorld2 world hello" id="helloWorld" scope="prototype"></bean>
    <bean id="hw" class="com.jie.HelloWorld" scope="prototype">
<!--
        property 給指定屬性賦值
        第一種方法:通過setter方法注入
        DI依賴注入
        -->
        <!--<property name="name" value="浪子一秋"></property>-->
        <!--<property name="age" value="21"></property>-->
        <!--
        第二種方法:通過有參 !前提是要有有參建構函式
        index 通過引數的索引注入
        type  通過引數的型別注入
        -->
        <!--<constructor-arg index="0" value="一葉知秋"></constructor-arg>-->
        <!--<constructor-arg index="1" value="22"></constructor-arg>-->
        <!--經過測試,這個是按照型別順序賦值-->
        <constructor-arg type="int" value="111"></constructor-arg>
        <constructor-arg type="java.lang.String" value="嘖嘖嘖"></constructor-arg>
        <constructor-arg type="java.lang.String" value="鄭州"></constructor-arg>
    </bean>

上面的兩個bean配置的是同一個類,是為了後年的測試,裡面的測試不再單獨寫了,不明白的再問

測試類

 /**
 * Spring IOC 控制反轉  控制權的反向轉移
 * 原來:誰用水建立  new 類名();
 * 現在:提前建立好所需要的物件,當使用時,不是自己建立,而是從容器中獲取物件
 *
 * 使用步驟:
 * 1.匯入jar包     spring-core   spring-beans  spring-context  commons-logging
 * 2.建立spring的配置檔案
 * 3.使用spring容器獲取物件
 *
 * 類  :單例模式  多例模式
 * 預設情況下是單例模式
 * 在配置檔案中可以設定為其他模式
 *
 * DI依賴注入
 * 原始:通過有參構造直接給屬性賦值 或者是通過無參+set方法賦值
 * 現在:spring容器中
 */

package com.jie;

import org.junit.Test;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class TestHello {
    @Test
    public void test1(){
        //誰使用,誰建立
        HelloWorld world=new HelloWorld();
        HelloWorld world1=new HelloWorld();
        System.out.println(world);//[email protected]
        System.out.println(world1);//[email protected]
        //不同物件
        world.sayHello();
    }

    @Test
    public void test2(){
        //spring 從spring容器中獲取物件
        //讀取spring配置檔案,建立bean工廠
        BeanFactory factory=new ClassPathXmlApplicationContext("/applicationContext.xml");
        //從bean工廠中獲取bean物件
        //通過id查詢
        HelloWorld world=(HelloWorld)factory.getBean("helloWorld");
        HelloWorld world1=(HelloWorld)factory.getBean("helloWorld");
        //通過型別得到物件
        //HelloWorld world2=factory.getBean(HelloWorld.class);
        //通過name查詢
        HelloWorld world3=(HelloWorld)factory.getBean("helloWorld2");
        //通過id+類查詢(官方推薦)
        HelloWorld world4=factory.getBean("hw",HelloWorld.class);
        System.out.println(world);//[email protected]
        System.out.println(world1);//[email protected]
        //同一個物件  推斷為單例模式
        world.sayHello();
    }
}

相關推薦

Spring框架入門操作

學了幾個框架之後,學習Spring框架的時候就很簡單了,這篇部落格先說一下spring框架的操作步驟,他的IOC、DI、AOP在以後的文章中再分享。 如何建立一個spring工程,請大家耐心操作。 1.匯入jar包  在一個maven工程中的pom.xml檔案中匯入

Java - Struts框架教程 Hibernate框架教程 Spring框架入門教程(新版) sping mvc spring boot spring cloud Mybatis

java ee cloud pac .cn java get pin nat 輕量級 https://www.zhihu.com/question/21142149 http://how2j.cn/k/hibernate/hibernate-tutorial/31.html

1.Spring框架入門

-- doc face ref cas 步驟 div 路徑 ica **Spring框架的IOC核心功能快速入門(必須掌握開發的步驟)** 0. 什麽是IOC的功能? * IOC -- Inverse of Control,控制反轉,將對象的創建權反轉給Spr

使用Spring框架入門一:基於XML配置的IOC/DI的使用

測試結果 plugins rac prepare lombok ray instance private mls 一、Spring框架   1、方法一:逐項導入基礎依賴包:     spring-core、spring-beans、spring-context、s

使用Spring框架入門二:基於註解+XML配置的IOC/DI的使用

bsp hot sources hierarchy osi pan ioc clas operate 一、簡述 本文主要講使用註解+xml配合使用的幾種使用方式。基礎課程請看前一節。 二、步驟 1、為Pom.xml中引入依賴:本例中使用的是spring-context

1.Spring框架入門案例

nts ng- pre face www. 分享 version font beans 一、簡單入門案例 入門案例:IoC 1.項目創建與結構 2.接口與實現類 User.java接口 package com.jd.ioc; /** * @author we

Spring框架入門教程(一)——框架簡介

介紹 Spring是一個分層的(一站式) 輕量級開源框架 Spring的核心是控制反轉(IoC)和麵向切面(AOP) 為什麼說分層一站式呢? javaEE分三層開發 WEB層,業務層,持久層。在ssh整合框架中s == Struts2, s == spring,h

Spring框架入門-----事務

事務的回滾 在這裡我用一個數據庫的使用者扣錢,加錢的例子: 我隨便建了一個數據庫,裡面有兩個使用者: 然後在pom.xml裡面寫上一個資料庫資原始檔的操作:` <?xml version="1.0" encoding="UTF-8

Spring框架入門

一.模組劃分 二.Spring的ICO實現的核心技術 三.ICO的模擬實現(重點)        1.工廠例項化物件                 工廠的分類:簡單工廠;工廠方法;抽象工廠(通用的工廠方法) ICO工廠產生物件的方法:          

Spring框架入門(二):安裝配置

下載架包 解壓縮後目錄: docs目錄為api和開發文件介紹,schema目錄為配置xml的schema約束檔案,libs資料夾中為我們要使用的架包 安裝 開啟IDE工具,新建專案

Spring框架入門Spring IOC(XML)& Bean工廠

1、Spring框架入門之Spring IOC(XML)& Bean工廠 1.1 什麼是Spring框架?          Spring是一個開源框架,Spring是於2003年興起的一個輕量級的J

spring框架入門到熟練

個人筆記,不足之處請指點,謝謝!會慢慢更新,請諒解 spring的概況 spring是一個開源框架,為了解決企業應用開發的複雜性而建立的,但現在已經不止應用於企業運用。 是一個輕量級的控制反轉(IoC)和麵向切面(AOP)的容器框架。

Spring框架 入門(概念)

目錄 Spring簡介、入門 作為應用程式開發人員,你可以如何從 Spring 平臺中受益的示例: 七大內容: 1、核心容器(Core): 2、AOP模組: 3、物件/關係對映整合模組ORM 4、JDBC抽象和DAO模組 5、Spring的Web模組 6、應用上下

Spring框架入門(一)簡介及三種基本注入方式例項

目錄 1介面注入 2設值注入 配置:導包 配置檔案: 測試類: 配置檔案: Test: 一、基本含義 Spring框架主要降低程式的耦合性,耦合性的意思為實現介面和實現類之間的關聯性,S

spring框架入門(一)

一 spring框架簡介: spring是一個輕量級的開源框架,其主要優勢就是其分層架構。分層架構允許使用者選擇使用哪一個元件,在JavaEE開發中,它可以有選擇的整合web層,持久層的相關框架。同時

spring框架入門--三種方式配置Bean

spring框架的核心在於“Ioc控制反轉”“DI依賴注入”以及“AOP面向切面程式設計”,所以在實現這些核心是最基礎的一步即為在ioc容器中配置bean標籤,因為我們獲取物件是通過獲取bean 來獲得的,所以配置好bean,要用物件時我們才能想用就拿.今天查看

Spring框架入門篇(二)

spring IoC容器可以自動裝配(autowire)相互協作bean之間的關聯關係。因此,如果可能的話,可以自動讓Spring通過檢查BeanFactory中的內容,來替我們指定bean的協作者(其他被依賴的bean)。 簡而言之,就是對於bean當中引用的其他bean時不需要我們自己去配置它該使用哪個

Spring框架[一]——spring概念和ioc入門(ioc操作xml配置文件)

修改 數組 名稱空間 springmvc jdbc ack 靜態 spring框架 鍵值 Spring概念 spring是開源的輕量級框架(即不需要依賴其他東西,可用直接使用) spring核心主要兩部分 aop:面向切面編程,擴展功能不是修改源代碼來

spring入門--Spring框架底層原理

ont tex 註入屬性 錯誤 博客 class shm 獲得 not 上一篇的博客,我們可以看出來,spring可以維護各個bean (對象),並向其中註入屬性值。那麽,如果們要把一個對象的引用註入另外一個對象呢?應該怎麽處理呢?    我們知道,對於對象中的屬性來說,我

Spring框架第一篇之簡單入門

其中 lan .org exp mage odi 只需要 需要 資源 一、下載Spring的jar包 通過http://repo.spring.io/release/org/springframework/spring/地址下載最新的Spring的zip包,當然,如果你是在