日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

IOC操作Bean管理XML方式(创建对象和set注入属性)

發布時間:2024/7/23 asp.net 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 IOC操作Bean管理XML方式(创建对象和set注入属性) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

1.什么是 Bean 管理:

(1)通過 Spring 創建對象

(2)通過 Spring 注入屬性

2.IOC 操作 Bean 管理有兩種方式:

(1)基于 xml 配置文件方式實現

(1.1)基于 xml 方式創建對象

(1.2)基于 xml 方式注入屬性

(2)基于注解方式實現


1.什么是 Bean 管理:

Bean 管理指的是兩個操作:

(1)通過 Spring 創建對象

(2)通過 Spring 注入屬性

?

2.IOC 操作 Bean 管理有兩種方式:

(1)基于 xml 配置文件方式實現

(1.1)基于 xml 方式創建對象

  • 在項目中找到 xxx.xml 文件,通過使用<bean></bean> 標簽,在標簽內添加對應屬性,就可以實現對象的創建
<?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"><!--配置User對象創建--> <bean id="user" class="com.lbj.spring5.User"></bean></beans>
  • Bean標簽基本屬性的認識
  • * id 屬性:唯一標識

在java 代碼里,.getBean方法就是通過這個唯一的標識找到<bean>標簽的id屬性

  • *class 屬性:類的全路徑

例如一個項目結構如下:

那么 User 這個類的全路徑為:

com.lbj.spring5.User

?*name 屬性(少用,曾用于Struts1框架):與 id 屬性的區別在于 name 屬性內可以添加特殊符號

?

  • 創建對象的時候,默認是執行無參數構造方法

一個類里面是有默認的一個公共無參構造方法,同樣,Spring框架也是默認執行無參構造方法

例子:

在User類中添加如下代碼:

package com.lbj.spring5;/*** Created by 14811 on 2020/11/25.*/ public class User {private String userName;// alt+insert 創建一個有參構造方法//此時如果不聲明無參構造方法,意味著無參構造方法不存在public User(String userName) {this.userName = userName;}//創建一個普通方法等待調用public void add(){System.out.println("實現了spring");} }

?運行 TestSpring5 中的testAdd()測試方法,發現報錯,原因:沒有無參構造方法卻調用了有參構造方法

(1.2)基于 xml 方式注入屬性

DI(dependency injection):依賴注入

DI是IOC 中的一種具體實現

  • 第一種注入方式:使用set方法進行注入

重新創建一個類專門演示我們在沒學習Spring之前是怎樣實現這個過程:

在com.lbj.spring5下創建一個 Book 類

Book類的代碼如下:

package com.lbj.spring5;public class Book {//在類中創建屬性:往book類中寫入一個屬性private String bname;//創建屬性對應的set方法:set方法注入屬性public void setBname(String bname) {this.bname = bname;}public static void main(String[] args) {Book book=new Book();book.setBname("紅樓夢");} }
  • 接下來我們體驗一下學習Spring 框架后

我們是怎樣在Spring 配置文件【1】配置對象創建,【2】配置屬性注入:

結構圖:

第一步:在bean1.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 http://www.springframework.org/schema/beans/spring-beans.xsd"><!--配置Book對象創建--><bean id="book" class="com.lbj.spring5.Book"><!--使用property完成屬性注入name:類里面的屬性名稱value:向屬性注入的值--><property name="bname" value="紅樓夢"></property></bean> </beans>

第二步:在Book類中:

package com.lbj.spring5;public class Book {//在類中創建屬性:往book類中寫入一個屬性private String bname;//創建屬性對應的set方法:set方法注入屬性public void setBname(String bname) {this.bname = bname;}public void testBook(){System.out.println(bname);}}

在測試類 TestSpring5中:

package com.lbj.spring5.testdemo;import com.lbj.spring5.Book; import org.junit.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext;public class TestSpring5 {@Testpublic void testBook1(){//1.加載spring配置文件ApplicationContext context=new ClassPathXmlApplicationContext("bean1.xml");//2.獲取配置創建的對象,通過context得到對象Book book=context.getBean("book", Book.class);//3.做輸出System.out.println(book);//4.通過book調用testBook()方法book.testBook();} }

?結果:


?

?

?

  • 第二種注入方式:有參構造方法注入:

代碼如下:

package com.lbj.spring5; public class Book {//往book類中寫入一個屬性private String bname;//有參數的構造方法注入屬性public Book(String bname) {this.bname = bname;}public static void main(String[] args) {Book book=new Book("紅樓夢");} }

?

(2)基于注解方式實現

?

詳情在博客下一章

?

?

?

?

?

?

?

?

?

?

?

總結

以上是生活随笔為你收集整理的IOC操作Bean管理XML方式(创建对象和set注入属性)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。