博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring根据XML配置文件注入对象类型属性
阅读量:6628 次
发布时间:2019-06-25

本文共 2196 字,大约阅读时间需要 7 分钟。

这里有dao、service和Servlet三个地方

通过配过文件xml生成对象,并注入对象类型的属性,降低耦合

dao文件代码:

package com.swift;public class DaoUser {    public void fun() {        System.out.println("I'm  dao's fun()....................");    }}

service文件代码:(提供setter方法,xml文件可通过这种方法配置)

package com.swift;public class ServiceUser {    private DaoUser daoUser;        public void setDaoUser(DaoUser daoUser) {        this.daoUser = daoUser;    }    public String fun() {        System.out.println("I am Service's fun()..............");        return daoUser.fun();    }}

xml文件代码:

Servlet类文件可以绕开dao的文件,直接使用service即可

package com.swift;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;@WebServlet("/duixiang")public class ServletService extends HttpServlet {    private static final long serialVersionUID = 1L;    public ServletService() {        super();    }    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {        response.getWriter().append("Served at: ").append(request.getContextPath());        @SuppressWarnings("resource")        ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");        ServiceUser service=(ServiceUser) context.getBean("service");        response.getWriter().append(service.fun());    }    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {        doGet(request, response);    }}

中间因修改属性名字,而忽略修改setter方法名字导致出错,已改好,错误的类型记录了一下:

Caused by: org.springframework.beans.NotWritablePropertyException: Invalid property 'daoUser' of bean class [com.swift.ServiceUser]: Bean property 'daoUser' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter?

提示的很好,要不自己很难发现。

 

转载于:https://www.cnblogs.com/qingyundian/p/7825587.html

你可能感兴趣的文章
Mahout分步式程序开发 聚类Kmeans(转)
查看>>
接口幂等
查看>>
LibreOffice 打开中文乱码
查看>>
FromBottomToTop第十三周项目博客
查看>>
【常用工具】常用工具收集
查看>>
Tax
查看>>
第二阶段团队冲刺站立会议06
查看>>
html
查看>>
本地wampserver如何配置伪静态
查看>>
C#串口通信实例
查看>>
小程序数据返回时刷新当前页面数据
查看>>
jFinal 关联数据库操作
查看>>
团队冲刺第二天
查看>>
sed删除空行和开头的空格和tab键
查看>>
php扩展安装
查看>>
Windows与Linux之间的文件自动同步
查看>>
15个重要的Android代码
查看>>
(转)android 牛人必修 ant 编译android工程
查看>>
求最大公约数与最小公倍数
查看>>
C# Winform 跨线程更新UI控件常用方法总结(转)
查看>>