天天看點

Spring--IOC注解用法初探建立一個UserDao接口,和一個UserDaoImp的實作類

建立一個UserDao接口,和一個UserDaoImp的實作類

UserDao接口

package com.zhujunwei.spring.demo1;

public interface UserDao {
	public void save() ;
}
           

UserDaoImp實作類

IOC注解時需要在類上加上Component(“辨別”)

為屬性添加注解時需要在屬性聲明式添加@Value(“屬性的值”)

屬性有set方法時需要在set方法上加上@Value(“屬性的值”)

辨別為建立該類時使用

package com.zhujunwei.spring.demo1;

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

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

	@Value("朱俊偉")
	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.zhujunwei.spring.demo1"></context:component-scan>
  
</beans>
           

SpringDemo1測試類

package com.zhujunwei.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()方法執行了。。。朱俊偉