spring-210727-06–IOC容器–Bean管理注解方式-注入属性@Resource&@Value
@Autowired: 根据属性类型进行自动注入
@Qualifier: 根据属性名称进行注入
@Resource: 可以根据类型注入,也可以根据名称注入
@Value: 注入普通类型属性
演示@Resource
UserDao03.java(@Resource)
package com.bgy.spring.dao;
public interface UserDao03 {
void add();
}
UserDaoImpl03.java(@Resource)
package com.bgy.spring.dao;
import org.springframework.stereotype.Repository;
@Repository(value = "userDaoImpl03")
public class UserDaoImpl03 implements UserDao03{
@Override
public void add() {
System.out.println("dao add.........");
}
}
UserService03.java(@Resource)
package com.bgy.spring.service;
import com.bgy.spring.dao.UserDao03;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@Service
public class UserService03 {
@Resource(name = "userDaoImpl03")
private UserDao03 userDao03;
public void add(){
System.out.println("service add.........");
userDao03.add();
}
}
UserService04.java(@Value)
package com.bgy.spring.service;
import com.bgy.spring.dao.UserDao03;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@Service
public class UserService04 {
@Value(value = "bgy")
private String nname;
public void add(){
System.out.println("service add........."+nname);
}
}
userbean.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"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
<context:component-scan base-package="com.bgy.spring"></context:component-scan>
</beans>
TestUser03.java
import com.bgy.spring.service.UserService03;
import com.bgy.spring.service.UserService04;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class TestUser03 {
@Test
public void test(){
ApplicationContext context = new ClassPathXmlApplicationContext("userbean.xml");
UserService03 userService03 = context.getBean("userService03", UserService03.class);
System.out.println(userService03);
userService03.add();
}
@Test
public void test04(){
ApplicationContext context = new ClassPathXmlApplicationContext("userbean.xml");
UserService04 userService04 = context.getBean("userService04", UserService04.class);
System.out.println(userService04);
userService04.add();
}
}