(1) @Component
(2) @Service
(3) @Controller
(4) @Repository
-
上面四个注解功能是一样的,都可以用来创建bean 实例
-
@Autowired:根据属性类型进行自动装配
第一步 把 service 和 dao 对象创建,在 service 和 dao 类添加创建对象注解
第二步 在 service 注入 dao 对象,在 service 类添加 dao 类型属性,在属性上面使用注解
//定义 dao 类型属性
//不需要添加 set 方法
//添加注入属性注解
@Autowired
private UserDao userDao;
public void add() {
System.out.println("service add. ");
userDao.add();
}
}
- @Qualifier:根据名称进行注入
这个@Qualifier 注解的使用,和上面@Autowired 一起使用
//定义 dao 类型属性
//不需要添加 set 方法
//添加注入属性注解
@Autowired //根据类型进行注入
@Qualifier(value = "userDaoImpl1") //根据名称进行注入private UserDao userDao;
- @Resource:可以根据类型注入,可以根据名称注入
//@Resource //根据类型进行注入
@Resource(name = "userDaoImpl1") //根据名称进行注入private UserDao userDao;
- @Value:注入普通类型属性
@Value(value = "abc") private String name;
- @Transactional: 在 service 类上面(或者 service 类里面方法上面)添加事务注解
(1) @Transactional,这个注解添加到类上面,也可以添加方法上面
(2) 如果把这个注解添加类上面,这个类里面所有的方法都添加事务
(3) 如果把这个注解添加方法上面,为这个方法添加事务
@Service
@Transactional
public class UserService {