假设我们在类中的各个字段上使用@Autowired注释,并且我们没有写入也可以设置字段的setter或构造函数.

问题 – 访问修饰符应该是私有的还是私有的(即没有)?

例如:

public class MyClass {
    @Autowired
    private MyService myService;
}

VS

public class MyClass {
    @Autowired
    MyService myService;
}

在第一种情况(私有字段)中,Spring使用反射来连接字段,即使它没有setter.

第二种情况(包私有字段)允许我们能够访问这些字段(例如,设置嘲笑),如果我们需要扩展类进行测试.

所以这两种情况都能正常工作,但是更为推荐,特别是在测试方面呢?

解决方法

第一种情况也允许您根据框架注入模拟.例如使用Mockito的@InjectMocks注释. Spring Test中还有ReflectionTestUtils.setField,…

我个人不太喜欢修改课程太多用于测试目的,所以我会去第一种情况.但是在一天结束时,这主要取决于您的首选测试框架.

java – Spring @Autowired字段 – 哪个访问修饰符,private或package-private?的更多相关文章

  1. 利用Spring框架为自己的校园卡充值(推荐)

    这篇文章主要介绍了利用Spring框架为自己的校园卡充值,本次实验主要运用了Spring的控制反转(IOC)和依赖注入(DI)等知识,通过利用Spring框架编写Java程序,实现学生卡的单次充值,如需对学生卡进行多次充值,可将部分代码修改即可实现,需要的朋友可以参考下

  2. 使用spring mvc+localResizeIMG实现HTML5端图片压缩上传的功能

    这篇文章主要介绍了使用spring mvc+localResizeIMG实现HTML5端图片压缩上传的功能,非常具有实用价值,需要的朋友可以参考下。

  3. ajax – 将spring 3 mvc与GWT集成的经验?

    鉴于:Spring3.0mvc具有优秀的REST支持,其中一个表示形式是JSON。>默认GWT的MVP体系结构只适用于客户端,并且可以很好地与JSON一起工作吗?谢谢可以分享使用Spring3.0mvc与GWT的经验吗?我们已经在GWT和SpringMVC成功构建了一个全面的大型应用程序。Spring是项目成功的关键。只有在Spring中,我们才能在服务器端单独测试一些应用程序。忽略GWT使用的默认Servlet,并创建自己的Spring控制器来处理传入的GWT-RPC请求。如果您遵循指南,GWT的MVP

  4. ajax 跨域 session 及 spring boot分布式session

    很遗憾,我手工创建的不生效,因为tomcat在绑定session时,采取严格匹配更加优先的原则,blog.vinceruan.info比.vinceruan.info更加匹配。这个和单独项目时,把userId放到session中道理是一样的。因为多个子项目在不同的tomcat,无法实现session共享,这时我们可以利用cookie。多说几句关于cookie和session的区别:cookie是针对于浏览器的,session是针对服务器的。cookie的产生会有JSessionId,也就是session的

  5. dwr框架与Spring整合

    接下来说一些关于dwr与Spring整合的相关配置1.首先得有一个DWR架包可以在官网下载最新dwr架包2.我们需要在WEB-INF下创建一个dwr.xml的配置文件其中name="beanName"是默认的不用修改,value="aclService"就是页面调用后台service的名字,也就是Spring配置文件中对应的bean。javascript是在页面上对应的名称create的方式为Spring3.我们需要在web.xml里面添加配置4.我们需要在beans里面添加相应的5.页面上需要导入相关j

  6. dwr与spring整合

    DWR是一个用于改善web页面与java类交互的远程服务器端Ajax开源框架,可以帮助开发人员开发包含AJAX技术的网站.它可以允许在浏览器里的代码使用运行在WEB服务器上的JAVA函数,就像它就在浏览器里一样。

  7. DWR配置文件详解

    dwr.xml是DWR的配置文件。默认情况下DWR1.1有8种创造器。当前的DWR不支持ULR重写。你不需要在dwr.xml文件中添加这段话,它已经存在于DWR的内部dwr.xml文件中了。用new创造器有一些好处:安全:DWR创造的对象生存的事件越短,多次调用中间的值不一致的错误机会越少。对于上诉两种情况,你仍然需要class参数,用来告诉DWR它是在操作的对象类型是什么。Spring创造器已经有了变化,所以你最好检查一下DWR的最新版本。确认你的Spring的Bean在DWR外面运行良好。配置DWR和

  8. DWR的基本原理以及前后台互相调用并整合SPRING的简易DEMO

    DWR的基本原理以及前后台互相调用并整合SPRING的简易DEMO博客分类:WEB技术dwr工作也已经有几年了,最近突然心血来潮,想写点技术博客,记录在工作和学习中碰到的一些问题,一方面方便自己以后查看,一方面也可以帮助下碰到同类问题的朋友们。这个DEMO只需要DWR和SPRING2个jar包,如需要可以在附件中下载。在实际项目发布后将其设置为false,以避免用户进入此页面。

  9. DWR之dwr.xml配置详解

    [/size][size=medium][size=large][/size][align=center][/align]本人对dwr中文文档关于dwr.xml做的一个整理,纯粹体力活,有用得着的朋友别忘顶一下,留个联系方式一起交流学习!dwr.xml是DWR的配置文件。默认情况下,应该把它放到WEB-INF目录下创建dwr.xml文件dwr.xml文件的结构如下:

  10. ZK开发关键知识点

    相对于Java编程式方式,这种声明式方式的优点十分明显:直观:ZUL代码结构与页面布局完全一致,ZUL元素的嵌套关系就是页面组件的嵌套关系,ZUL元素的前后并列关系就是页面组件的前后摆放;而Java编程方式与最终页面却没有这种一致性;代码简洁:由于XML在表达页面布局时语义的先天优势(一致性),同样的页面用ZUL比Java代码量要少得多;直观、简洁的代码意味着容易理解、容易编写、容易修改维护、不容易出错,因此带来开发效率上的巨大优势。

随机推荐

  1. 基于EJB技术的商务预订系统的开发

    用EJB结构开发的应用程序是可伸缩的、事务型的、多用户安全的。总的来说,EJB是一个组件事务监控的标准服务器端的组件模型。基于EJB技术的系统结构模型EJB结构是一个服务端组件结构,是一个层次性结构,其结构模型如图1所示。图2:商务预订系统的构架EntityBean是为了现实世界的对象建造的模型,这些对象通常是数据库的一些持久记录。

  2. Java利用POI实现导入导出Excel表格

    这篇文章主要为大家详细介绍了Java利用POI实现导入导出Excel表格,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  3. Mybatis分页插件PageHelper手写实现示例

    这篇文章主要为大家介绍了Mybatis分页插件PageHelper手写实现示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  4. (jsp/html)网页上嵌入播放器(常用播放器代码整理)

    网页上嵌入播放器,只要在HTML上添加以上代码就OK了,下面整理了一些常用的播放器代码,总有一款适合你,感兴趣的朋友可以参考下哈,希望对你有所帮助

  5. Java 阻塞队列BlockingQueue详解

    本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景,通过实例代码介绍了Java 阻塞队列BlockingQueue的相关知识,需要的朋友可以参考下

  6. Java异常Exception详细讲解

    异常就是不正常,比如当我们身体出现了异常我们会根据身体情况选择喝开水、吃药、看病、等 异常处理方法。 java异常处理机制是我们java语言使用异常处理机制为程序提供了错误处理的能力,程序出现的错误,程序可以安全的退出,以保证程序正常的运行等

  7. Java Bean 作用域及它的几种类型介绍

    这篇文章主要介绍了Java Bean作用域及它的几种类型介绍,Spring框架作为一个管理Bean的IoC容器,那么Bean自然是Spring中的重要资源了,那Bean的作用域又是什么,接下来我们一起进入文章详细学习吧

  8. 面试突击之跨域问题的解决方案详解

    跨域问题本质是浏览器的一种保护机制,它的初衷是为了保证用户的安全,防止恶意网站窃取数据。那怎么解决这个问题呢?接下来我们一起来看

  9. Mybatis-Plus接口BaseMapper与Services使用详解

    这篇文章主要为大家介绍了Mybatis-Plus接口BaseMapper与Services使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  10. mybatis-plus雪花算法增强idworker的实现

    今天聊聊在mybatis-plus中引入分布式ID生成框架idworker,进一步增强实现生成分布式唯一ID,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

返回
顶部