1、@controller 控制器(注入服务)=====控制层
用于标注控制层,相当于struts中的action层
@Controller
@RequestMapping("/trade")//请求服务的名字
public class aaaController{
@RequestMapping("/getAll")//请求服务的名字
@ResponseBody//返回响应数据
public ExecuteResult getAll() {
}
}
2、@service 服务(注入dao)====业务逻辑层
用于标注服务层,主要用来进行业务的逻辑处理
例:
@Service
public class UserServiceImpl implements UserService {
}
如果想自定义实现接口名(@repository类似):
//实现接口定义的名字---(适用于一个接口有多个实现类的情况)
@Service(“student”)
@Scope(“prototype”)
public class StudentServiceImpl implements Person {
}
@Service(“user”)
@Scope(“prototype”)
public class UserServiceImpl implements Person {
}
//调用创建对象时取到student实现类
@Autowired
@Qualifier("student")//获取具体是哪个实现类
private Person person;
3、@repository(实现dao访问)====持久层
用于标注数据访问层,也可以说用于标注数据访问组件,即DAO组件.
例:
@Repository
public class UserDaoImpl implements UserDao {
}
4、@component (把普通pojo实例化到spring容器中,相当于配置文件中的 <bean id="" class=""/>)
泛指各种组件,就是说当我们的类不属于各种归类的时候(不属于@Controller、@Services等的时候),我们就可以使用@Component来标注这个类。
5.@Autowired (它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。)
//调用创建对象时取到student实现类
@Autowired
@Qualifier("student")
private Person person;
//代替
//private Person person = new Person;