spring通過(guò)導(dǎo)入jar包和配置xml文件啟動(dòng)的步驟詳解
第一步,進(jìn)到 spring倉(cāng)庫(kù)下載一個(gè)spring包,大家前往官網(wǎng)下載的時(shí)候,記得下載dist.zip后綴的包,里面包括了jar包和對(duì)應(yīng)的英文文檔。
下面是自己已經(jīng)下載的一個(gè),提供百度云鏈接:
百度云,提取碼:hpst
第二步,打開(kāi)idea -> File -> Project Structrure -> Libraries,點(diǎn)擊上面的 "+"號(hào),找到存放spring源碼的目錄,進(jìn)入libs目錄,然后將 beans、context、core、expression、jcl這5個(gè)jar包導(dǎo)入,如下截圖:

導(dǎo)入 jcl 這個(gè)包是引入 org/apache/commons/logging,不然編譯的時(shí)候會(huì)出現(xiàn)如下報(bào)錯(cuò):
Exception in thread “main” java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
第三步,導(dǎo)入成功之后,就可以開(kāi)始使用spring框架了。
下面做一個(gè)例子:
先給大家看一下目錄結(jié)構(gòu):

spring.xml這個(gè)文件是通過(guò) File -> New -> XML Configuration File -> Spring Config 創(chuàng)建出來(lái)的。
上面的代碼分別如下:
//這是目錄結(jié)構(gòu)中的IUserDao接口類(lèi)
package dao;
/**
* @program: Spring_01
* @description
* @author:
* @create: 2020-08-05 16:16
**/
public interface IUserDao {
void getUser();
}
//這是目錄結(jié)構(gòu)中的IUserDao接口類(lèi)的實(shí)現(xiàn)
package dao.impl;
import dao.IUserDao;
/**
* @program: Spring_01
* @description
* @author:
* @create: 2020-08-05 16:36
**/
public class UserDaoOracleImpl implements IUserDao {
@Override
public void getUser() {
System.out.println("查詢(xún)的是Oracle數(shù)據(jù)庫(kù)");
}
}
//這是目錄結(jié)構(gòu)中的IUserService接口類(lèi)
package service;
/**
* @program: Spring_01
* @description
* @author:
* @create: 2020-08-05 08:51
**/
public interface IUserService {
void getUser();
}
//這是目錄結(jié)構(gòu)中的IUserService接口類(lèi)的實(shí)現(xiàn)
package service.impl;
import dao.IUserDao;
import service.IUserService;
/**
* @program: Spring_01
* @description
* @author:
* @create: 2020-08-05 08:52
**/
public class UserServiceImpl implements IUserService {
IUserDao dao_oracle;
public IUserDao getDao_oracle() {
return dao_oracle;
}
public void setDao_oracle(IUserDao dao_oracle) {
this.dao_oracle = dao_oracle;
}
@Override
public void getUser() {
getDao_oracle().getUser();
}
}
//這是目錄結(jié)構(gòu)中的MyTest測(cè)試類(lèi)的實(shí)現(xiàn)
package test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import service.IUserService;
import service.impl.UserServiceImpl;
/**
* @program: Spring_01
* @description
* @author:
* @create: 2020-08-05 16:20
**/
public class MyTest {
public static void main(String[] args) {
ApplicationContext ioc = new ClassPathXmlApplicationContext("spring.xml");
IUserService service = ioc.getBean(IUserService.class);
service.getUser();
}
}
下面是spring.xml配置文件的內(nèi)容
<?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 class="dao.impl.UserDaoOracleImpl" id="userDaoOracle"/>
<bean class="service.impl.UserServiceImpl" id="userService">
<property name="dao_oracle" ref="userDaoOracle"/>
</bean>
</beans>
這里我想提醒大家注意的是,service業(yè)務(wù)邏輯類(lèi)必須通過(guò)getter 和 setter方式獲取dao對(duì)象和設(shè)置dao對(duì)象,不然配置spring.xml的時(shí)候, name標(biāo)簽不能實(shí)現(xiàn)自動(dòng)提示,也就是說(shuō)不能編譯通過(guò)
。
編譯運(yùn)行之后會(huì)出現(xiàn)如下結(jié)果:
查詢(xún)的是Oracle數(shù)據(jù)庫(kù)
總結(jié)
到此這篇關(guān)于spring通過(guò)導(dǎo)入jar包和配置xml文件啟動(dòng)的文章就介紹到這了,更多相關(guān)spring通過(guò)導(dǎo)入jar包和配置xml文件啟動(dòng)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
解決springboot利用ConfigurationProperties注解配置數(shù)據(jù)源無(wú)法讀取配置信息問(wèn)題
今天在學(xué)習(xí)springboot利用ConfigurationProperties注解配置數(shù)據(jù)源的使用遇到一個(gè)問(wèn)題無(wú)法讀取配置信息,發(fā)現(xiàn)全部為null,糾結(jié)是哪里出了問(wèn)題呢,今天一番思考,問(wèn)題根源找到,下面把我的解決方案分享到腳本之家平臺(tái),感興趣的朋友一起看看吧2021-05-05
idea中service或者mapper引入報(bào)紅的問(wèn)題及解決
在使用IntelliJ IDEA開(kāi)發(fā)SpringBoot項(xiàng)目時(shí),有時(shí)會(huì)遇到Service或Mapper接口引入時(shí)報(bào)紅但不影響項(xiàng)目運(yùn)行的情況,這主要是因?yàn)镮DEA的檢查級(jí)別設(shè)置問(wèn)題,解決方法是將有問(wèn)題的Error級(jí)別改為編譯通過(guò)的安全級(jí)別,即可消除報(bào)紅2024-09-09
Mybatis工具類(lèi)JdbcTypeInterceptor運(yùn)行時(shí)自動(dòng)添加jdbcType屬性
今天小編就為大家分享一篇關(guān)于Mybatis工具類(lèi)JdbcTypeInterceptor運(yùn)行時(shí)自動(dòng)添加jdbcType屬性,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-12-12
springboot中RestTemplate發(fā)送HTTP請(qǐng)求的實(shí)現(xiàn)示例
RestTemplate是一個(gè) spring-web 提供的執(zhí)行HTTP請(qǐng)求的同步阻塞式工具類(lèi),本文就來(lái)介紹一下RestTemplate發(fā)送HTTP請(qǐng)求,具有一定的參考價(jià)值,感興趣的可以了解一下2024-03-03
RestTemplate實(shí)現(xiàn)多種底層HTTP客戶(hù)端類(lèi)庫(kù)的切換用法
這篇文章主要為大家詳細(xì)的講解了RestTemplate實(shí)現(xiàn)多種底層HTTP客戶(hù)端類(lèi)庫(kù)的切換示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助祝大家多多進(jìn)步2022-03-03
Java正則驗(yàn)證正整數(shù)的方法分析【測(cè)試可用】
這篇文章主要介紹了Java正則驗(yàn)證正整數(shù)的方法,結(jié)合實(shí)例形式對(duì)比分析了java針對(duì)正整數(shù)的驗(yàn)證方法及相關(guān)注意事項(xiàng),需要的朋友可以參考下2017-08-08
java實(shí)現(xiàn)圖書(shū)館管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)圖書(shū)館管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-10-10

