建立一個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()方法執行了。。。朱俊偉