第三步 引入Spring实现IOC依赖
1.加载Spring的相关LIB包,具体步骤与之前一样,都是先拷贝jar包进入到WEB-INF/lib目录中,然后再通过build path加载进入到程序中。Spring的所有lib,这个比较简单不用做区分,全选即可。
拷贝到lib目录中
2.修改web.xml文件,实现IOC容器的自动加载。
3.添加root-context.xml容器配置文件,实现相关的bean加载。
位置:
代码:
编译发现报错:
错误信息显示,未添加common-logging.jar,按照前述添加jar包方法添加该包。
拷贝到lib目录中
4.实现逻辑处理和数据库处理的分层,分层的实现即体现了面向接口的编程,同时也体现了依赖注入。这个部分,需要业务逻辑的调整,因此增加业务逻辑代码
位置:
代码:
User.java
package com.djl.entity;
import java.io.Serializable;
public class User implements Serializable {
private static final long serialVersionUID = 1L;
private int uid;
private String username;
private String password;
public User() {
}
public User(String username, String password) {
this.username = username;
this.password = password;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public int getUid() {
return uid;
}
public void setUid(int uid) {
this.uid = uid;
}
}
UserService.java
package com.djl.service;
import com.djl.entity.User;
public interface UserService {
void addUser(User user);
}
UserStorage.java
package com.djl.serviceImpl;
import com.djl.dao.UserDao;
import com.djl.entity.User;
import com.djl.service.UserService;
public class UserStorage implements UserService {
@Override
public void addUser(User user) {
System.out.println("依赖注入成功");
}
}
}
编译后,发现如下错误:
ERROR org.apache.struts2.dispatcher.DefaultDispatcherErrorHandler - Exception occurred during processing request: java.lang.NullPointerException
这个NULL指针本质就是说明,依赖注入失败。
报错是因为依赖注入需要实现struts和spring的兼容,因此需要引入struts2-spring-plugin-2.5.5.jar包。
到此为止,所有的错误全部消除。因此可以观察到相关的System.out.println(“依赖注入成功”),成功界面如下:
完成Struts+Spring的整合