注解方式 使用注解的方式完成IOC 1.配置注解扫描 ?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.
注解方式
使用注解的方式完成IOC
1.配置注解扫描
<?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">
<!-- 开启注解扫描
扫描com.test包以及所有子包中的文件
-->
<context:component-scan
base-package="com.test" />
</beans>
2.常用的注解
2.1用来创建对象的注解
@Component
创建一个对象(组件)
@Service
创建service层对象
@Controller
创建控制层对象
//默认会创建一个DrinkService的对象 对象的名字为drinkService (类名的首字母小写)@Service
//也可以设置自己制定的对象名
@Service("自己制定的对象名")
public class DrinkService implements IDrinkService {
}
2.2用来注入的注解
2.2.1注入对象的方式1
@Autowired
根据类型自动注入
@Qualifier(“对象名”)
如果满足自动注入的对象有多个,可以通过@Qualifier()设置具体的对象名
//自动注入@Autowired
//指定注入的对象(如果满足注入对象有多个的时候)
@Qualifier("oracleDrinkDao")
private IDrinkDao drinkDao;
public IDrinkDao getDrinkDao() {
return drinkDao;
}
//也可以在set方法上设置自动注入
public void setDrinkDao(IDrinkDao drinkDao) {
this.drinkDao = drinkDao;
}
2.2.2注入对象的方式2
根据对象名注入,作用相当于@Autowired+@Qualifier("对象名")
//自动注入方式2
@Resource(name="oracleDrinkDao")
private IDrinkDao drinkDao;
public IDrinkDao getDrinkDao() {
return drinkDao;
}
public void setDrinkDao(IDrinkDao drinkDao) {
this.drinkDao = drinkDao;
}
2.2.3注入普通值
@Component
public class Drink {
@Value("橙汁")
private String name;
@Value("半糖")
private String sugar;
@Value("18")
private float price;