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
---------------
我每一次回头,都感觉自己不够努力,所以我不再回头。
---------------