我在做一个基本的spring mvc的例子
action是用注解的mvc。
接口public interface ITest {
public void say();}接口的实现类public class TestImpl implements ITest{ public void say() {
System.out.println("I am TestImpl");
}
}Action类的代码是@Controller
@RequestMapping("person")
public class UrAction extends JdbcTem{
private ITest test;
@RequestMapping("/say")
public String say(){
test.say();
return null;
} public ITest getTest() {
return test;
} public void setTest(ITest test) {
System.out.println("--注解--"+test);
this.test = test;
}
}配置文件的地方是<bean id="test" class="com.ur.action.TestImpl"></bean>
<bean id="urAction" class="com.ur.action.UrAction">
<property name="test" ref="test"></property>
</bean>服务器启动的时候,控制台打印出了如下信息,表示注解进去了
--注解--com.ur.action.TestImpl@c6f734但是我网址访问
http://127.0.0.1:8080/SprintTest/person/say.do
确是null异常。如果加上@Autowired,可以注解进去,但是我不想用注解的方式注入
请问各位高手,我该怎么办。javaspring
action是用注解的mvc。
接口public interface ITest {
public void say();}接口的实现类public class TestImpl implements ITest{ public void say() {
System.out.println("I am TestImpl");
}
}Action类的代码是@Controller
@RequestMapping("person")
public class UrAction extends JdbcTem{
private ITest test;
@RequestMapping("/say")
public String say(){
test.say();
return null;
} public ITest getTest() {
return test;
} public void setTest(ITest test) {
System.out.println("--注解--"+test);
this.test = test;
}
}配置文件的地方是<bean id="test" class="com.ur.action.TestImpl"></bean>
<bean id="urAction" class="com.ur.action.UrAction">
<property name="test" ref="test"></property>
</bean>服务器启动的时候,控制台打印出了如下信息,表示注解进去了
--注解--com.ur.action.TestImpl@c6f734但是我网址访问
http://127.0.0.1:8080/SprintTest/person/say.do
确是null异常。如果加上@Autowired,可以注解进去,但是我不想用注解的方式注入
请问各位高手,我该怎么办。javaspring
<bean id="test" class="com.ur.action.TestImpl"></bean> <bean id="urAction" class="com.ur.action.UrAction"> <property name="test" ref="test"></property> </bean>
test.say();
return null;
}
试着换成return一个普通字符串呢因为我按相同配置测试,也是能注入的ApplicationContext factory = new ClassPathXmlApplicationContext("applicationContext.xml");
UrAction urAction = (UrAction) factory.getBean("urAction");
urAction.say();
<property name="test" ref="test" autowire="byName"></property>
实现类 的bean 添加属性 parent 值为接口bean的ID
<context-param>
<param-name>contextConfigLocation</param-name>
<!-改成你的spring配置文件-->
<param-value>/WEB-INF/application.xml</param-value>
</context-param>