简单介绍:
在上一个章节中,我们简单介绍了我们Bean基于注解的装配方式,如果能理解的话会觉得这种方式非常的简单,但是如果不理解的话,那么就会有一些困难。这次我们来讲解基于XML配置文件的另一种更简单的装配方式,自动装配。
使用方法:
我们继续使用上一次的案例,但是我们这次把代码中的注释全部都删除。然后来到我们的Bean管理XML配置文件中,编写我们三个类的<bean>标签:
注意这次,我们在<bean>标签中多添加了一个元素叫做autowire,这个属性就是用来控制我们的自动装填的方式的,它有四个值,常用的就是byName(通过属性名装填),byType(通过类型装填),完成XML文件的编写之后,我们再次回到测试类进行测试:
可以看到,我们删除了之前我们在代码中添加的注解,替换成了使用XML的方式进行自动装填,程序依然可以正常运行,这就是我们的自动装填。
代码实现:
控制层:
package com.spring.Imp;
import com.spring.Controller.userLoginCon;
import org.springframework.stereotype.Controller;
import javax.annotation.Resource;
public class userLoginConImp implements userLoginCon {
userLoginDAOImp userLoginDAOImp;
public userLoginDAOImp getSld() {
return userLoginDAOImp;
}
public void setSld(userLoginDAOImp sld) {
this.userLoginDAOImp = sld;
}
@Override
public void Login(String name, String password) {
userLoginDAOImp.userLogin(name,password);
}
}
Server层:
package com.spring.Imp;
import com.spring.Server.userLoginServer;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
public class userLoginServerImp implements userLoginServer {
userLoginConImp userLoginConImp ;
public userLoginConImp getSlc() {
return userLoginConImp;
}
public void setSlc(userLoginConImp slc) {
this.userLoginConImp = slc;
}
@Override
public void Login(String name, String password) {
userLoginConImp.Login(name,password);
}
}
DAO层:
package com.spring.Imp;
import com.spring.DAO.userLoginDAO;
import org.springframework.stereotype.Repository;
public class userLoginDAOImp implements userLoginDAO {
@Override
public void userLogin(String name, String password) {
if(name.equals("张三")&&password.equals("123456")){
System.out.println("登陆成功!");
}else {
System.out.println("登陆失败!");
}
}
}
注意点:
注意,如果在使用自动装填的过程中出现了空指针异常,检查一下被装填属性的属性名,建议属性名和类名相同即可。