public class SaveUserAction extends ActionSupport {
private User user;
private UserService service;
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public UserService getService() {
return service;
}
public void setService(UserService service) {
this.service = service;
}
@Override
public String execute() throws Exception {
service.save(user);
return SUCCESS;
}
}
上面的User为什么不用在ApplicationContext.xml中位置注入呢?
这个user只是一个属性,参数而已,当客户端发送请求过来时,如果将user对象的一些属性同时传递过来,那么容器将会自动将user实例化。
而service是需要注入,因为,service是一个工具类,他需要完成增删改查操作,而user则是参数,就是这个service对user进行增删改查操作,而UserService 实际上应该是一个接口,这就是面向接口编程,别人不知道你这个service这个到底是那个类的实例,完全通过SPring的配置注入,更安全,耦合性低
而通过spring注入的一般是不变的,即不需要经常创建。也一般无成员变量,即不存在值的变化。
是User实体类!
public class User {
private int id;
private String firstname;
private String lastname;
private int age;
UserService 这个中又是什么代码呢?
追问public interface UserService {
public void save(User user);
public List findAll();
public void remove(User user);
public User find(int id);
public void update(User user);
}
我刚学习java,您能详细说一下吗?