假如利用Spring的依附注进增添了体系的庞大性,那末成绩的关键在于你本人。我利用Spring有好几年的履历了,它老是让事变变得更棒和更整齐。我不敢说一切的Spring项目都是如许,不外关于依附注进来讲相对没错。也就是说,我发明有良多利用Spring的体例值得商讨,现实上他们做的良多事变都是不用要的(不外他们却其实不这么以为)。假如你能举出Spring依附注进会引发凌乱的例子,我乐意拭目以待。
文章的质疑很不错。我来举个复杂的例子,假设一个体系有良多条理,一切工具都被加上了@Autowire与component-scan。我实验实例化个中的某些服务,不外却短少依附。最初只能将一切的依附加出去来实例化测试中所需的一个复杂服务,由于查找存在哪些依附、应当利用哪些依附来作为摹拟消费了我大批的工夫。
文中提到“同时,我发明依附注进文明对重用性有更强的偏幸,不外重用会引进耦合。假如模块A重用了模块B,那末我们就说模块A与模块B是耦合的”。这里必要对“模块”做一些廓清。接口会匡助我们更好地舆解。在重用时,利用的是Spring、CDI仍是你本人的甚么工具其实不主要。你提到“Spring文明”,是真的么?举个例子,利用(c3p0)数据源与PlatformTransactionManager(JpaTransactionManager)来设置一个JPAEntityManager(FactoryBean)。这里会有大批的重用,不外解耦性却很不错。你能够将JPA切换到Hibernate,也能够将c3p0却换到其他数据源,还能够将TransactionManager切换到Hibernate或是JTA的。
你厌恶XML设置,也厌恶@Autowired,不外设置总回是要有的。假如喜好set或是new的体例,那末你可使用注解,文中并没有说起这一点。假如利用的是CDI,那末厌恶@Autowired/@Inject无情可原,不外这是Spring,你有良多选择。依据我的履历,关于后端服务绑定利用注解设置,关于UI组件利用@Inject会更好一些。我们也不利用XML,你能够实验一下这类体例。
欢迎光临 仓酷云 (http://ckuyun.com/) | Powered by Discuz! X3.2 |