email:java.lang.UnsupportedOperationException: Method not yet implemented

本文介绍了一种解决EmailUtils类在Controller层调用时出现的问题的方法,通过将该类声明为Spring组件并修改sendEmail方法为实例方法,实现了在Junit测试及Controller层的成功调用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

         今天同事做好了工具类EmailUtils.sendEmail() 发送邮件的方法,但是在junit测试的时候是可以运行的,但是在controller中通过mvc或者servlet请求的时候出现了错误,这就奇怪了,找了一些网上的文章也没有一个好的请求方案,这里把我的解决方案记录如下:

        把这个EmailUtils类通过@Component 注入,如下:

    @Component
    public class EmailUtils {}

        然后把静态方法sendEmail()改成普通方法 public void sendEmail()  ,然后在junit测试的时候或者在controller中通过全局申明:

    @Resource
    private EmailUtils emailUtils;
     

       在junit测试的方法中使用emailUtils.sendEmail()  和 在controller中的方法中 也是同样的使用。

       上面的错误就可以解决了~

代码如下:package com.example.myapplication; import android.content.ContentProvider; import android.content.ContentUris; import android.content.ContentValues; import android.content.UriMatcher; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.net.Uri; import android.util.Log; public class DatabaseProvider extends ContentProvider { // 授权标识 public static final String AUTHORITY = "com.example.myapplication.provider"; public static final Uri CONTENT_URI = Uri.parse("content://"+AUTHORITY+"/person"); public static final String COLUMN_ID = "id"; public static final String COLUMN_NAME = "name"; public static final String COLUMN_NUMBER = "number"; public static final String COLUMN_ISSTAR = "isstar"; private static int personDir=0;//列表 private static int personItem=1;//单条记录 // 初始化:创建UriMatcher对象,参数UriMatcher.NO_MATCH表示初始状态(无匹配)。 // 添加匹配规则:使用addURI方法,参数为授权(authority)、路径(path)和自定义代码(code)。 // 使用:通过match方法匹配传入的Uri,返回自定义代码,然后根据代码进行相应处理。 private static UriMatcher uriMatcher=new UriMatcher(UriMatcher.NO_MATCH);//初始状态没匹配到任何URI private SQLiteDatabase dbHelper; static {//只在类被加载时执行一次 uriMatcher.addURI(AUTHORITY, "person", personDir); // 整个表,匹配返回匹配吗personDir uriMatcher.addURI(AUTHORITY, "person/#", personItem); // 单条记录,#匹配由任意长度的数字字符组成的字符串 } //uri 映射至程序公开的数据表person //projection 是检索到的每个行所应包含的列的数组。 //selection 指定选择行的条件。 //sortOrder 指定在返回的 Cursor 中各行的显示顺序。 public DatabaseProvider() { } @Override public int delete(Uri uri, String selection, String[] selectionArgs) { // Implement this to handle requests to delete one or more rows. throw new UnsupportedOperationException("Not yet implemented"); } @Override public String getType(Uri uri) { // TODO: Implement this to handle requests for the MIME type of the data // at the given URI. throw new UnsupportedOperationException("Not yet implemented"); } @Override public Uri insert(Uri uri, ContentValues values) { // TODO: Implement this to handle requests to insert a new row. throw new UnsupportedOperationException("Not yet implemented"); } @Override public boolean onCreate() { // TODO: Implement this to initialize your content provider on startup. return false; } @Override public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) { switch (uriMatcher.match(uri)){ case 0: Log.i("test","query所有"); return dbHelper.query(false,"person",projection,selection,selectionArgs,null,null,sortOrder,null); case 1: long id= ContentUris.parseId(uri); Log.i("test","query单个"); return dbHelper.rawQuery("select * from person where id=?",new String[]{id+""}); } return null; } @Override public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs) { // TODO: Implement this to handle requests to update one or more rows. throw new UnsupportedOperationException("Not yet implemented"); } }
07-22
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值