关于在controller 引用 service 层 可以直接使用 dao(model)层的findByID delete等方法

希望通过@注解可以让controller层在调用service层时 可以直接使用model的findById、delelte等方法

例如:

service层

class UserService  {

@service

private user dao=new user().dao;

}

controller层

@Inject

UserService userService;


public void onlog(){

userService.findbyId(userId);//可以直接使用model的相应方法,

}


评论区

JFinal

2019-02-01 11:24

UserService 这里也要以用 @Inject 注入的,用法一样,还不必引入新的概念:

class UserService {
@Inject
private User dao;
}

晴天小雨

2019-02-01 11:34

@JFinal 我按照你的 service层添加了注解,但是在controller层也不能直接调用model的方法。

JFinal

2019-02-01 11:41

@晴天小雨 model 在这个 service 中是 private 的,当然不能直接调用 model 的方法,这个是 java 语言特性决定的

你将 model 搞成 public 的就可以了:
@Inject
public User dao;

当然,这样做是完全错误的,controller 本来就只应该调用 service