开发者社区> 问答> 正文

spring管理的单例bean能否在service中手动new实例化?

以下配置的ModuleTest这个类能否在其他service方法中直接手动new实例化?

<bean id="moduleTest" class="com.hh.ProTest.ModuleTest"></bean>

service的配置如下:

<bean id="serviceTest" class="com.hh.Service.ServiceTestImpl"></bean>

手动new的方法如下,这样测试执行并没有报异常:

public class ServiceTestImpl implements ServiceTest{
    private ModuleTest moduleTest;
    @Override
    public boolean test(User user) throws Exception{
        ModuleTest moduleTest = new ModuleTest();
        moduleTest.setTestString("手动设值");
        return false;
    }

    public ModuleTest getModuleTest() {
        return moduleTest;
    }
    public void setModuleTest(ModuleTest moduleTest) {
        this.moduleTest = moduleTest;
    }
}

展开
收起
小旋风柴进 2016-03-03 13:06:09 3614 0
2 条回答
写回答
取消 提交回答
  • 可以new 出来。但是你new出来的实例和spring中定义的bean moduleTest 是两个不同的实例了。

    2019-07-17 18:51:14
    赞同 展开评论 打赏
  • 是可以。 但每次请求的话都会new一个新的实例出来,而new出来的实例都是干同一见事情。 所以你这么做会增加服务器的压力

    2019-07-17 18:51:14
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
云栖社区特邀专家徐雷Java Spring Boot开发实战系列课程(第20讲):经典面试题与阿里等名企内部招聘求职面试技巧 立即下载
微服务架构模式与原理Spring Cloud开发实战 立即下载
阿里特邀专家徐雷Java Spring Boot开发实战系列课程(第18讲):制作Java Docker镜像与推送到DockerHub和阿里云Docker仓库 立即下载

相关实验场景

更多