关于spring的注入:
总的流程及配置文件配置:
1.首先index.jsp
<form action="showAction.action" method="post">
<input type="submit" value="tijiao"/>
</form>
2.直接提交到action 到action中的struts.xml配置如下:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<package name="struts" namespace="/" extends="struts-default">
<action name="showAction" class="com.cn.action.showAction" method="showss">
<result name="success">index.jsp</result>
</action>
</package>
</struts>
3.通过struts.xml配置到action中:
public class showAction extends ActionSupport{
//得到注入的dao
private Dao dao;
public Dao getDao() {
return dao;
}
public void setDao(Dao dao) {
this.dao = dao;
}
public String showss(){
//ApplicationContext ac = new FileSystemXmlApplicationContext("D:/NOWORK/SpringStruts/src/applicationContext.xml");
//dao = (Dao)ac.getBean("dao");
try {
dao.show();
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace(); //会打印一串异常信息,其中包括行。
}
return SUCCESS;
}
4.action中配置了dao的set 为spring注入,那么dao只是做了简单的输出:
public class Dao {
//打印输出
public void show(){
System.out.println("输出");
}
}
5.applictionContext.xml配置:
<bean id="dao" class="com.cn.dao.Dao"></bean>
<bean id="showAction" class="com.cn.action.showAction" scope="prototype">
<property name="dao" ref="dao"/>
</bean>
这样点击页面的提交,控制台就会打印出输出二字,说明spring注入成功了。
如果点击提交后,报空指针错误,那么查看一下是否有struts2-spring-plugin-2.3.15.1.jar这个jar包,原来也是一直报空指针,后来加了这个包就好啦