作者:swaimprichett_556 | 来源:互联网 | 2023-10-11 09:17
篇首语:本文由编程笔记#小编为大家整理,主要介绍了Spring基于注解的配置之@Autowired相关的知识,希望对你有一定的参考价值。
学习地址:https://www.w3cschool.cn/wkspring/rw2h1mmj.html
@Autowired注释
@Autowired注释对在哪里和如何完成自动连接提供了更多的细微控制。
Setter方法中的@Autowired
SpellChecker.java:
package com.lee.autowired;
public class SpellChecker {
public SpellChecker() {
System.out.println("Inside SpellChecker constructor");
}
public void checkSpelling() {
System.out.println("Inside checkSpelling");
}
}
TextEditor.java:
package com.lee.autowired;
import org.springframework.beans.factory.annotation.Autowired;
public class TextEditor {
private SpellChecker spellChecker;
public SpellChecker getSpellChecker() {
return spellChecker;
}
@Autowired
public void setSpellChecker(SpellChecker spellChecker) {
this.spellChecker = spellChecker;
}
public void spellCheck() {
spellChecker.checkSpelling();
}
}
MainApp.java:
package com.lee.autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class MainApp {
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("Beans2.xml");
TextEditor td = (TextEditor) context.getBean("textEditor");
td.spellCheck();
}
}
Beans2.xml:
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
class="com.lee.autowired.TextEditor">
class="com.lee.autowired.SpellChecker">
属性中的@Autowired属性
只有TextEditor不一样:
package com.lee.autowired2;
import org.springframework.beans.factory.annotation.Autowired;
public class TextEditor {
@Autowired
private SpellChecker spellChecker;
public TextEditor() {
System.out.println("Inside TextEditor constructor");
}
public SpellChecker getSpellChecker() {
return spellChecker;
}
public void spellCheck() {
spellChecker.checkSpelling();
}
}
构造函数中的@Autowired属性
package com.lee.autowired2;
import org.springframework.beans.factory.annotation.Autowired;
public class TextEditor {
private SpellChecker spellChecker;
@Autowired
public TextEditor(SpellChecker spellChecker) {
this.spellChecker=spellChecker;
System.out.println("Inside TextEditor constructor");
}
public void spellCheck() {
spellChecker.checkSpelling();
}
}