Spring实例化(DI)注解形式

来源:互联网 发布:网络节点转换器 编辑:程序博客网 时间:2024/05/05 15:24
1.applicationContext.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"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
http://www.springframework.org/schema/context 
http://www.springframework.org/schema/context/spring-context-4.1.xsd">

<!-- <bean name="userinfo" class="test.Userinfo"/> -->
<!-- 扫描test包下面所有的类 -->
<context:component-scan base-package="test"/>




</beans>
----------------------------------------------------
2.Bookinfo.java:


package test;


import org.springframework.stereotype.Component;


@Component("bookinfo")
public class Bookinfo {
public void print(){
System.out.println("书籍信息");
}
}
--------------------
 Userinfo.java:


package test;


import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;


@Component("userinfo")//实例化,取名为userinfo,不写名字就是类名
public class Userinfo {
@Autowired//DI
private Bookinfo bookinfo;


public void setBookinfo(Bookinfo bookinfo) {
this.bookinfo = bookinfo;
}

public void say(){
System.out.println("你好");
}
}
------------------------------------------------------------------------------
3.测试类 Test.java:


package test;


import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;


public class Test {
public static void main(String[] args) {
ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
Userinfo userinfo = (Userinfo)ctx.getBean("userinfo");
userinfo.say();
}


}
0 0
原创粉丝点击