通過(guò)實(shí)例解析Spring Ioc項(xiàng)目實(shí)現(xiàn)過(guò)程
0. Ioc
https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/core.html
主要是實(shí)現(xiàn)一個(gè)控制反轉(zhuǎn),耦合性大大降低。
1. 建maven項(xiàng)目
建立一個(gè)空的maven項(xiàng)目,然后pom.xml添加spring-context的依賴(lài):
<!-- https://mvnrepository.com/artifact/org.springframework/spring-context --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.2.7.RELEASE</version> </dependency>
2. 創(chuàng)建pojo java對(duì)象
package com.aca;public class Hello { private String str; public void setStr(String str) { this.str = str; } public String getStr() { return str; } public Hello(String str){ this.str = str; } @Override public String toString() { return 'Hello{' +'str=’' + str + ’’’ +’}’; }}
3. 創(chuàng)建bean xml配置元數(shù)據(jù)
配置文件放在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' xsi:schemaLocation='http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd'> <bean class='com.aca.Hello'> <constructor-arg type='java.lang.String' value='fffff'/> </bean></beans>
如果有多個(gè)resource或者目錄不一致,就需要import一下:
<beans> <import resource='services.xml'/> <import resource='resources/messageSource.xml'/> <import resource='/resources/themeSource.xml'/> <bean /> <bean /></beans>
里面可以調(diào)用構(gòu)造函數(shù)來(lái)初始化一下bean。
4.創(chuàng)建spring 上下文
這里用ClassPathXmlApplicationContext 方法。
ApplicationContext context = new ClassPathXmlApplicationContext('hbean.xml');// retrieve configured instance Hello hello = context.getBean('Hello', Hello.class);// hello.setStr('abc'); System.out.println(hello);
直接可以用這個(gè)bean,由xml注入。
5. Error:java: 錯(cuò)誤: 不支持發(fā)行版本 5
將file- project structure 中的jdk版本選成跟本地一直,比如我這個(gè)jdk14
將build -> java complier中的兩個(gè)版本選擇成跟本地一致,這里是14
這兩步做好以后不會(huì)報(bào)錯(cuò),maven里面不需要選擇版本。
6. 如果報(bào)xml的問(wèn)題
xml declaration should precede all document
那是因?yàn)閤ml 第一行是空格了,必須<?xml 做為第一行。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. jstl 字符串處理函數(shù)2. JSP動(dòng)態(tài)網(wǎng)頁(yè)開(kāi)發(fā)原理詳解3. XHTML 1.0:標(biāo)記新的開(kāi)端4. Vue中使用Echarts儀表盤(pán)展示實(shí)時(shí)數(shù)據(jù)的實(shí)現(xiàn)5. 深入理解JavaScript中的Base64編碼字符串6. PHP擴(kuò)展之URL編碼、解碼及解析——URLs7. JSP頁(yè)面的靜態(tài)包含和動(dòng)態(tài)包含使用方法8. WAP建站W(wǎng)ML語(yǔ)言語(yǔ)法基礎(chǔ)教程第1/6頁(yè)9. java 字符串轉(zhuǎn)化為字符數(shù)組的3種實(shí)現(xiàn)案例10. vue實(shí)現(xiàn)動(dòng)態(tài)給id賦值,點(diǎn)擊事件獲取當(dāng)前點(diǎn)擊的元素的id操作
