使用注解配置spring、spring与junit整合配置

版权声明: https://blog.csdn.net/weixin_40521823/article/details/84875581

1、将对象注册到容器中

在配置文件applicationContext.xml中配置如下代码,可将对象匹配进来:

<!-- 指定扫描cn.itcast.bean包下的所有类中的注解
		注意:在扫描时,会扫描指定包下的所有的子孙包
		但不会扫描所有的父包
	 -->
	<context:component-scan base-package="cn.itcast.bean"></context:component-scan>

2、修改对象的作用范围

在对象文件下,再类前面添加

  1. @Component("user")  //这句话相当于applicationContext.xml下的配置:<bean name="user" class="cn.itcast.bean"/>
  2. @Service("user")          //注册service层
  3. @Controller("user")      //注册web层
  4. @Repository("user")    //注册dao层
  5. @Scope(scopeName="prototype")   //指定对象的作用范围,prototype表示为多例对象,singleton表示为单例对象

3、值类型注入

      在实体中,有两种情况

   (1)在变量前赋值,这种方式:是通过反射的filed赋值,破坏了封装性(不建议使用)

              @Value("tom")//值类型赋值
              private String name;

  (2)在set前赋值:通过set方法赋值(推荐使用)

            @Value("tom")//值类型赋值         

            public void setName(String name) {
                  this.name = name;
             }


4、引用类型注入(car为另一个对象)

        (1)@Autowired  //自动装配
                //自动装配有问题:如果匹配多个类型一致的对象,将无法选择具体注入哪一个对象

        (2)@Qualifier("car2")     //使用@Qualifier注解,告诉spring容器自动装配哪个名称的对象
        (3)@Resource(name="car2")           //手动注入,告诉spring容器手动注入哪个名称的对象


5、初始化&销毁方法

        @PostConstruct  //在对象被创建后调用,相当于以前的init-method方法
	public void init() {
		System.out.println("我是初始化方法");
	}
	@PreDestroy   //在销毁之前调用,相当于以前的destory-method方法
	public void destory() {
		System.out.println("我是销毁方法");
	}

6、spring与junit整合配置

(1)导包

(2)书写配置(在测试文件Demo.java中)

import cn.itcast.bean.User;
@RunWith(SpringJUnit4ClassRunner.class) //帮我们创建容器
@ContextConfiguration("classpath:applicationContext.xml") //制定创建容器时使用哪个配置文件

public class Demo {
	
	@Resource(name="user") //将名为user的对象注入到u变量中
	private User u;
}

(3)测试(在测试文件Demo.java中)

@Test
	public void fun1() {
		
		System.out.println(u);
    }


   

猜你喜欢

转载自blog.csdn.net/weixin_40521823/article/details/84875581