Spring注解

注解方式
使用注解的方式完成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

 @Resource(name="对象名")

​ 根据对象名注入,作用相当于@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注入普通值

 **@Value("数值")**相当于 @Value(value="数值") ​

@Component
public class Drink {

    @Value("橙汁")
    private String name;

    @Value("半糖")
    private String sugar;

    @Value("18")
    private float price;

  

posted @ 2022-09-27 23:34  呆萌老师  阅读(26)  评论(0编辑  收藏  举报