胡桃0 2022-08-06 15:31 采纳率: 71.4%
浏览 54
已结题

请问这段代码的问题出现在哪里

img

img


如图所示异常
代码:

public interface HutaoDao {
    public  void  save();
}
public class HutaoDaoImpl implements HutaoDao{
    private  HutaoDao hutaoDao = new HutaoDaoImpl();
    public  void save(){
        System.out.println("打雷啦,起身啦");
        hutaoDao.save();

    }
}

public interface HutaoService {
    public void save();
}
public class HutaoServiceImpl implements HutaoService {

    public  void  save(){
        System.out.println("再会啦");

    }
}
xml配置:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

    <bean id="hutaoDao" class="com.mihoyo.dao.impl.HutaoDaoImpl"/>
<bean id="hutaoService" class="com.mihoyo.dao.impl.service.impl.HutaoServiceImpl"/>
</beans>

pom配置:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.mihoyo</groupId>
    <artifactId>Spring---yuanshen1</artifactId>
    <version>1.0-SNAPSHOT</version>

<dependencies>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.13.1</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>5.3.22</version>
    </dependency>
</dependencies>
</project>
  • 写回答

2条回答 默认 最新

  • 林晓风 2022-08-06 15:38
    关注

    你这两行代码有问题
    public class HutaoDaoImpl implements HutaoDao{
    private HutaoDao hutaoDao = new HutaoDaoImpl();
    怎么能自己new自己,然后再自己引用自己再new自己呢,这样无限循环导致堆栈溢出了哇
    改成这样:

    public interface HutaoDao {
        public  void  save();
    }
    public class HutaoDaoImpl implements HutaoDao{
        public  void save(){
            System.out.println("打雷啦,起身啦");
        }
    }
    

    然后在你需要调用的地方去new,然后调用

    HutaoDao hutaoDao = new HutaoDaoImpl();
    hutaoDao.save();
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 8月14日
  • 已采纳回答 8月6日
  • 请采纳用户回复 8月6日
  • 创建了问题 8月6日

悬赏问题

  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效