1.@AutoWired:
- 根据类型自动注入
示例:(在Service层注入Dao层的属性)
第一步:
在service和dao类添加创建对象注解
注意:在实现类加注解
-
service:
-
dao:
第二步
- 在service类中添加dao属性对象,在属性上边使用注解
测试是否成功:
运行代码:
package com.yang.run;
import com.yang.service.UserService;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
* @program: TestSpring
* @description: 测试注解方式是否可用
* @author: 陈阳
* @create: 2021-01-24 21:19
**/
public class TestAnn {
@Test
public void test1(){
ApplicationContext context = new ClassPathXmlApplicationContext("bean1.xml");
UserService userService = context.getBean("userService", UserService.class);
userService.add();
}
}
运行结果:
2.@Qualifier:
- 根据属性名称自动注入
@Qualifier注解使用要和@Autowired一起使用
演示:
- dao:
- service
测试是否成功:
运行代码:
package com.yang.run;
import com.yang.service.UserService;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
* @program: TestSpring
* @description: 测试注解方式是否可用
* @author: 陈阳
* @create: 2021-01-24 21:19
**/
public class TestAnn {
@Test
public void test1(){
ApplicationContext context = new ClassPathXmlApplicationContext("bean1.xml");
UserService userService = context.getBean("userService", UserService.class);
userService.add();
}
}
运行结果:
3.@Resource:
- 可以根据类型注入,可以根据名称注入
示例:
根据需求选取一种方式
注意:@Resource是javax.annotation.Resource中的不是Spring官方包中的,所以Spring官方不建议使用@Resource注解
4.@Value:
- 注入普通类型属性
1.普通类型:String.int .double等。。。。
演示:
运行测试:
运行结果: