为什么用Autowired标识注入不了bean
小弟写了一个spring程序,测试spring依赖注入,但是用用Autowired标识注入不了bean,请大家赐教!!
以下是程序代码
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:context="http://www.springframework.org/schema/context"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd">
<context:annotation-config/>
<context:component-scan base-package="*"/>
<bean id="user" class="pojo.User" autowire="byName">
<property name="userName">
<value>tangjun</value>
</property>
</bean>
</beans>
User.java
package pojo;
public class User implements java.io.Serializable {
private Long id;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
private String userName;
private String userPassword;
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getUserPassword() {
return userPassword;
}
public void setUserPassword(String userPassword) {
this.userPassword = userPassword;
}
}
PrintUser.java
package service;
import pojo.User;
public interface PrintUser {
public void printString(User user);
}
PrintUserImpl.java
package service;
import org.springframework.stereotype.Service;
import pojo.User;
@Service
public class PrintUserImpl implements PrintUser {
public void printString(User user) {
System.out.println(user.getUserName());
}
}
Test.java
package pojo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import service.PrintUserImpl;
public class Test {
private User user;
public User getUser() {
return user;
}
@Autowired
public void setUser(User user) {
this.user = user;
}
protected PrintUserImpl printUserImpl;
public static void main(String[] args) {
Test test = new Test();
System.out.print(test.printUserImpl);
test.printUserImpl.printString(test.user);
}
}