春を通してdaoを呼び出すことの出力内容はnullです

Daoが出力するコンテンツは、春からメソッド自体が注入したデータ
サービスです。

public class userService {
    
    
    private userDao userdao;
    private String st;
 public void show() throws UnsupportedEncodingException {
    
    
        String st2=new String(st.getBytes("iso8859-1"),"utf-8");
        new userDao().show(st2);
        System.out.println("server...run......");
        System.out.println("service say:"+st);

    }

これがdaoです
。daoの最初の出力ステートメントはspringから取得されます。daoの前回の呼び出しが新しいuserDaoによって誤って呼び出されたため、dao throughspring
作成せずにspringに読み込まれませんでした。
出力結果がnullになる

public class userDao {
    
    
    private  String s;

    public String getS() {
    
    
        return s;
    }

    public void setS(String s) {
    
    
        this.s = s;
    }

    public void show(String st) throws UnsupportedEncodingException {
    
    
    System.out.println("dao..say:"+s);
    st=new String(st.getBytes("iso8859-1"),"utf-8");
        System.out.println(st);
}
}

servriceの呼び出しを変更して、メンバー変数を介して呼び出します。これにより、スプリングを介してdaoが正常に作成され、注入値が完了し、通常のコンテンツが出力されます。

 public void show() throws UnsupportedEncodingException {
    
    
        String st2=new String(st.getBytes("iso8859-1"),"utf-8");
        userdao.show(st2);
        System.out.println("server...run......");
        System.out.println("service say:"+st);

    }

おすすめ

転載: blog.csdn.net/m0_49194578/article/details/112548649