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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

spring:注解@Resource,实现引用类型的赋值

發布時間:2025/6/15 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 spring:注解@Resource,实现引用类型的赋值 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

注解@Resource,?根據byName賦值,找不到. 就會根據byType再找一次,賦值

@Resource和@Autowired的區別: @Autowired來自spring框架, 而?@Resource來自jdk.

package com.atChina.Test6;import javax.annotation.Resource;import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; import org.springframework.stereotype.Controller; import org.springframework.stereotype.Repository; import org.springframework.stereotype.Service;/** @Component: 創建對象,默認創建的是單例對象* 屬性: value,表示對象的id* 位置: 在類的上面,表示創建該類的對象* @Component(value="myStudent")等同于<bean id="myStudent" class="com.atChina.Test.Student" /> * */ @Component("student") public class Student {@Value("宋江")private String name;private int age;/** 引用類型,使用框架的自動注入: * @Resource:來自jdk中的注釋,給引用類型賦值,支持byName,byType. 默認是byName* 位置:1)在屬性定義的上面,推薦使用,無需set方法* 2)在set方法的上面*/@Resource // 如果根據byName賦值,找不到. 就會根據byType再找一次,賦值private School school;public void setName(String name) {System.out.println("setName:"+name);this.name = name;}@Value("23")public void setAge(int age) {System.out.println("setAge:"+age);this.age = age;}@Overridepublic String toString() {return "Student [name=" + name + ", age=" + age + ", school=" + school+ "]";} }

?Student類中有一個School屬性.

package com.atChina.Test6;import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component;@Component("sch") public class School {@Value("海洋大學")private String name;@Value("深海")private String address;public void setName(String name) {this.name = name;}public void setAddress(String address) {this.address = address;}@Overridepublic String toString() {return "School [name=" + name + ", address=" + address + "]";} }

?

注解@Resource,?只按byName賦值

package com.atChina.Test7;import javax.annotation.Resource;import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; import org.springframework.stereotype.Controller; import org.springframework.stereotype.Repository; import org.springframework.stereotype.Service;/** @Component: 創建對象,默認創建的是單例對象* 屬性: value,表示對象的id* 位置: 在類的上面,表示創建該類的對象* @Component(value="myStudent")等同于<bean id="myStudent" class="com.atChina.Test.Student" /> * */ @Component("student") public class Student {@Value("宋江")private String name;private int age;/** 引用類型,使用框架的自動注入: * @Resource:來自jdk中的注釋,給引用類型賦值,支持byName,byType. 默認是byName* 位置:1)在屬性定義的上面,推薦使用,無需set方法* 2)在set方法的上面*/@Resource(name="sch") // 只按byName,需要指定@Resource的name屬性,name指定bean對象的名稱private School school;public void setName(String name) {System.out.println("setName:"+name);this.name = name;}@Value("23")public void setAge(int age) {System.out.println("setAge:"+age);this.age = age;}@Overridepublic String toString() {return "Student [name=" + name + ", age=" + age + ", school=" + school+ "]";} }

?

總結

以上是生活随笔為你收集整理的spring:注解@Resource,实现引用类型的赋值的全部內容,希望文章能夠幫你解決所遇到的問題。

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