真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

第1章初識Spring的基本應(yīng)用-創(chuàng)新互聯(lián)

起源:spring框架_百度百科

創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站與策劃設(shè)計(jì),襄汾網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:襄汾等地區(qū)。襄汾做網(wǎng)站價格咨詢:18982081108

目錄

1? Spring概述

1.1什么是Spring?

1.2 Spring框架的優(yōu)點(diǎn)

1.3 Spring的體系結(jié)構(gòu)

1.4 Spring的下載及目錄結(jié)構(gòu)

2? Spring的核心容器

2.1? BeanFactory

1.Spring容器負(fù)責(zé)控制程序之間的關(guān)系,而不是由程序代碼直接控制。

2.提供了兩種核心容器:BeanFactory和ApplicationContext。

2.2? ApplicationContext

1.BeanFactory的子接口,另一種常用的Spring核心容器。

2.不僅包含了BeanFactory的所有功能,還添加了對國際化、資源訪問、事件傳播等方面的持。

3.由org.springframework.context.ApplicationContext接口定義。

1.通過ClassPathXmlApplicationContext創(chuàng)建

創(chuàng)建該接口實(shí)例,通常采用兩種方法,具體如下:

2.通過FileSystemXmlApplicationContext創(chuàng)建?????

3? Spring的入門程序

4? 依賴注入

4.1? 依賴注入的概念

4.2? 依賴注入的實(shí)現(xiàn)方式


1? Spring概述 1.1什么是Spring?

Spring是分層的JavaSE/EE full-stack 輕量級開源框架,以IoC(Inverse of Control 控制反轉(zhuǎn))和AOP(Aspect Oriented Programming 面向切面編程)為內(nèi)核,使用基本的JavaBean來完成以前只可能由EJB完成的工作,取代了EJB的臃腫、低效的開發(fā)模式。

Spring框架是由于軟件開發(fā)的復(fù)雜性而創(chuàng)建的。Spring使用的是基本的JavaBean來完成以前只可能由EJB完成的事情。然而,Spring的用途不僅僅限于服務(wù)器端的開發(fā)。從簡單性、可測試性和松耦合性角度而言,絕大部分Java應(yīng)用都可以從Spring中受益。

EJB是Enterprise Java Beans技術(shù)的簡稱, 又被稱為企業(yè)Java Beans。這種技術(shù)最早是由美國計(jì)算公司研發(fā)出來的。EJB技術(shù)的誕生標(biāo)志著Java Beans的運(yùn)行正式從客戶端領(lǐng)域擴(kuò)展到服務(wù)器領(lǐng)域。在電子商務(wù)領(lǐng)域運(yùn)用EJB技術(shù)可以簡化應(yīng)用系統(tǒng)的開發(fā), 這是由該技術(shù)的結(jié)構(gòu)和特點(diǎn)所決定的

在實(shí)際開發(fā)中,通常服務(wù)器端在采用三層體系架構(gòu),分別為表示層(Web)、業(yè)務(wù)邏輯層(Service)、持久層(Dao), Spring對每一層都提供了技術(shù)支持。

1.2 Spring框架的優(yōu)點(diǎn)

Spring具有簡單、可測試和松耦合等特點(diǎn)。不僅可以用于服務(wù)器端開發(fā),也可以應(yīng)用于任何Java應(yīng)用的開發(fā)中。

1.3 Spring的體系結(jié)構(gòu)

Spring框架采用分層架構(gòu),它的功能要素被分成20個模塊

注意:上圖中灰色背景模塊為所涉及的主要模塊

1.Core Container(核心容器)

2.Data Access/Integration(數(shù)據(jù)訪問/集成)

3.Web

4.其他模塊

1.4 Spring的下載及目錄結(jié)構(gòu)

所需的jar包分為兩個部分:Spring框架包和第三方依賴包。

1.Spring框架包

下載地址:https://repo.spring.io/release/org/springframework/spring/5.2.3.RELEASE/

使用xml配置方式

1、在IDEA中創(chuàng)建maven項(xiàng)目或模塊

2、在pom.xml中加入spring-webmvc依賴。會把core、beans、context、expression、aop、web等的依賴都自動加載進(jìn)來。

2.第三方依賴包

在使用Spring開發(fā)時,除了要使用自帶的JAR包外,Spring的核心容器還需要依賴commons.logging的JAR包。

下載地址:http://commons.apache.org/proper/commons-logging/download_logging.cgi

2? Spring的核心容器 2.1? BeanFactory 1.Spring容器負(fù)責(zé)控制程序之間的關(guān)系,而不是由程序代碼直接控制。 2.提供了兩種核心容器:BeanFactory和ApplicationContext。

BeanFactory容器

創(chuàng)建BeanFactory實(shí)例時,需提供Spring所管理容器的詳細(xì)配置信息。通常采用XML文件形式來管理,其加載配置信息:

BeanFactory beanFactory=new XmlBeanFactory(new FileSystemResource("F: /applicationContext.xml"));

這種加載方式在實(shí)際開發(fā)中并不多用,了解即可。

2.2? ApplicationContext 1.BeanFactory的子接口,另一種常用的Spring核心容器。 2.不僅包含了BeanFactory的所有功能,還添加了對國際化、資源訪問、事件傳播等方面的特點(diǎn)。 3.由org.springframework.context.ApplicationContext接口定義。 1.通過ClassPathXmlApplicationContext創(chuàng)建 ?創(chuàng)建該接口實(shí)例,通常采用兩種方法,具體如下:

ApplicationContext applicationContext = new

ClassPathXmlApplicationContext(String configLocation);

從類路徑classPath中尋找指定的XML配置文件,找到并裝載完成ApplicationContext的實(shí)例化工作。

2.通過FileSystemXmlApplicationContext創(chuàng)建?????

ApplicationContext applicationContext =new FileSystemXmlApplicationContext(String configLocation);

從指定的文件系統(tǒng)路徑(絕對路徑)中尋找指定的XML配置文件,找到并裝載完成ApplicationContext的實(shí)例化工作。這個需要具體的路徑

在Java項(xiàng)目中,通過ClassPathXmlApplicationContext類來實(shí)例化ApplicationContext容器。

而在Web項(xiàng)目中,ApplicationContext容器的實(shí)例化工作會交由Web服務(wù)器來完成。

Web服務(wù)器實(shí)例化ApplicationContext容器時,通常會使用ContextLoaderListener來實(shí)現(xiàn),需web.xml中添加代碼:

contextConfigLocationclasspath:spring/applicationContext.xml org.springframework.web.context.ContextLoaderListener

1.創(chuàng)建Spring容器后,就可以獲取Spring容器中的Bean。

2.Spring獲取Bean的實(shí)例通常采用以下兩種方法:

1.Object getBean(String name);

根據(jù)容器中Bean的id或name來獲取指定的Bean,獲取之后需要進(jìn)行強(qiáng)制類型轉(zhuǎn)換。

2.T getBean(ClassrequiredType);

根據(jù)類的類型來獲取Bean的實(shí)例。由于此方法為泛型方法,因此在獲取Bean之后不需要進(jìn)行強(qiáng)制類型轉(zhuǎn)換。

3? Spring的入門程序

? 1.在Eclipse中,創(chuàng)建一個名為chapter04的Web項(xiàng)目,將Spring的4個基礎(chǔ)包以及commons-logging的JAR包復(fù)制到lib目錄中,并發(fā)布到類路徑下。

XML文檔,內(nèi)容可從參考手冊上復(fù)制最新版本(1. The IoC container)spring-framework-5.2.3.RELEASE/docs/spring-framework-reference/core.html#beans-factory-metadata

2.在src目錄下,創(chuàng)建一個com.itheima.ioc包,并在包中創(chuàng)建接口UserDao,代碼如下:

package com.itheima.ioc;

public interface UserDao {public void say();}

? 3.在com.itheima.ioc包下,創(chuàng)建UserDao接口的實(shí)現(xiàn)類UserDaoImpl,代碼如下:

package com.itheima.ioc;

public class UserDaoImpl implements UserDao {

public void say() {

System.out.println("userDaosay hello World !");

}}

4.在src目錄下,創(chuàng)建Spring的applicationContext.xml配置文件,并在配置文件中創(chuàng)建一個id為userDao的Bean。

5.在com.itheima.ioc包下,創(chuàng)建測試類TestIoC,其代碼:

package com.itheima.ioc;
import org.springframework.context.ApplicationContext;
import  org.springframework.context.support.ClassPathXmlApplicationContext;
    public class TestIoC {
    public static void main(String[] args) { 
    //初始化Spring容器,并加載配置文件
       ApplicationContext applicationContext = new  ClassPathXmlApplicationContext("applicationContext.xml"); 
     //通過Spring容器獲取userDao實(shí)例(即Java對象),
         UserDao userDao = (UserDao)       
         applicationContext.getBean("userDao");
     //調(diào)用實(shí)例中的say()方法
         userDao.say();
    }
}

4? 依賴注入 4.1? 依賴注入的概念

DI(Dependency Injection,依賴注入)。它與控制反轉(zhuǎn)(IoC)的含義相同,只是它們是從兩個角度描述的同一個概念。

IoC(控制反轉(zhuǎn)):在Spring框架中,對象的實(shí)例不再由調(diào)用者來創(chuàng)建,而是由Spring容器來創(chuàng)建,程序之間的關(guān)系由Spring容器控制,而不是調(diào)用者的程序代碼。這樣,控制權(quán)由應(yīng)用代碼轉(zhuǎn)移到了Spring容器,控制權(quán)發(fā)生了反轉(zhuǎn)。

DI(依賴注入):從Spring容器的角度來看,Spring容器負(fù)責(zé)將被依賴對象賦值給調(diào)用者的成員變量,這相當(dāng)于為調(diào)用者注入了它依賴的實(shí)例,這就是Spring的依賴注入。

4.2? 依賴注入的實(shí)現(xiàn)方式

1.使用setter方法實(shí)現(xiàn)依賴注入

1.在com.itheima.ioc包中,創(chuàng)建接口UserService,在接口中編寫一個say()方法。

package com.itheima.ioc;
public interface UserService {
public void say();
}

2.在com.itheima.ioc包中,創(chuàng)建UserService接口的實(shí)現(xiàn)類UserServiceImpl,在類中聲明userDao屬性及setter方法。

package com.itheima.ioc;
public class UserServiceImpl implements UserService {
private UserDao userDao;
public void setUserDao(UserDao userDao) {
this.userDao = userDao;
}
public void say() {
this.userDao.say();
System.out.println("userService say hello World !");
}
}

3.在配置文件applicationContext.xml中,創(chuàng)建一個id為userService的Bean,該Bean用于實(shí)例化UserServiceImpl類的信息,并將userDao的實(shí)例注入到userService中。

4.在com.itheima.ioc包中,創(chuàng)建測試類TestDI,來對程序進(jìn)行測試。

package com.itheima.ioc;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.support.ClassPathXmlApplicationContext;
 public class TestDI {
     public static void main(String[] args){ 
        ApplicationContext applicationContext = new    
               ClassPathXmlApplicationContext("applicationContext.xml"); 
        UserService userService=(UserService)    
               applicationContext.getBean("userService"); 
	  userService.say();
	}
 }

5.執(zhí)行程序后,控制臺的輸出結(jié)果如圖所示。

小結(jié):

本講主要介紹了Spring框架入門的一些基礎(chǔ)知識,包括Spring的概念、優(yōu)點(diǎn)、體系結(jié)構(gòu)、核心容器、依賴注入等,同時通過一個入門程序講解了Spring的基本使用。

通過本講的學(xué)習(xí),同學(xué)們可以對Spring框架及其體系結(jié)構(gòu)有一個初步的了解,能夠初步的掌握Spring框架的使用,并能夠理Spring框架中IoC和DI的思想,掌握屬性setter方法注入的實(shí)現(xiàn)。

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧


文章標(biāo)題:第1章初識Spring的基本應(yīng)用-創(chuàng)新互聯(lián)
分享網(wǎng)址:http://weahome.cn/article/dhpedj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部