如何解决在项目中拥有更多代码行会降低Spring MVC的效率吗?
我有一个带有getter和setter的pojo类,可以用单个@Data
注释替换。
- 是否也可以通过某些方式减少行数,这会提高程序的效率?
- 使用
@Servive
或@Repository
创建的对象的范围(单个对象或原型)是什么。 - 何时使用
@Autowired
访问其他类的函数而不是static
方法。
自static
起,我是否可以在整个应用中使用@Autowired
方法来访问函数,而不是@Autowired
。会增加应用程序的重量吗?
感谢您的回答!
解决方法
1。我有带有getter和setter的pojo类,可以用单个@Data注释替换。 同样,通过某些方式,我减少了行数,这是否会提高程序的效率?
@data
注释只会在您的IDE中为您隐藏代码行。在编译期间,projekt lombok
将生成Java字节码,因此代码行数不会改变。
2。使用@servive或@repository创建的对象的范围(单个对象或原型)是什么。
Spring的默认值为Singleton
参考spring文档:
Spring容器在创建容器时会验证每个bean的配置。但是,在实际创建Bean之前,不会设置Bean属性本身。创建容器时会创建具有单例作用域并设置为预先实例化(默认)的Bean
3。何时使用@autowired访问其他类的功能而不是静态方法。因为@autowired会增加应用程序的权重,我可以在整个应用程序中使用静态方法来访问功能而不是@autowired吗?
您正在将@Autowire
与静态方法进行比较。比较是错误的方式。您应该比较的是,Singletons
与static classes and variables
相比,static-variable-vs-singleton已经回答了
@Autowire
与单例无关。可以配置自动装配功能来产生新的bean(原型)等。@Autowire
是为了解决inversion of control问题。
所有这些问题似乎都与您的优化有关。永远记住Premature optimization is the root to all evil
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。