Spring中最常用的注解

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;

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章