Spring--IOC注解用法初探

创建一个UserDao接口,和一个UserDaoImp的实现类

UserDao接口

package com.zjw.spring.demo1;

public interface UserDao {
	public void save() ;
}

UserDaoImp实现类

IOC注解时需要在类上加上Component(“标识”)

为属性添加注解时需要在属性声明式添加@Value(“属性的值”)
属性有set方法时需要在set方法上加上@Value(“属性的值”)

标识为创建该类时使用

package com.zjw.spring.demo1;

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

@Component("userDao")
public class UserDaoImp implements UserDao {

	@Value("zjw")
	private String name; 
	
	@Override
	public void save() {
		System.out.println("UserDaoImp save()方法执行了。。。"+name);
	}

}

applicationContext.xml

在需要注解的类上加上context:component-scan,并且添加所在的包

<?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"> 
      
    <!-- Spring的IOC注解入门 -->  
    <!-- 使用IOC的注解开发,配置扫描 -->
	<context:component-scan base-package="com.zjw.spring.demo1"></context:component-scan>
  
</beans>

SpringDemo1测试类

package com.zjw.spring.demo1;

import org.junit.jupiter.api.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

/**
 * Spring的IOC注解开发测试类
 * @author zhujunwei
 * 2019年4月18日 上午9:47:58
 */
public class SpringDemo1 {
	
	/**
	 * 传统方式
	 */
	@Test
	public void demo1() {
		UserDao userDao = new UserDaoImp();
		userDao.save();
	}
	
	/**
	 * Spring的IOC注解方式
	 */
	@Test
	public void demo2() {
		ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
		UserDao userDao = (UserDao) applicationContext.getBean("userDao");
		userDao.save();
	}
}

运行demo2方法时结果

UserDaoImp save()方法执行了。。。zjw

posted @ 2019-04-18 10:50  雨中遐想  阅读(3)  评论(0编辑  收藏  举报  来源