JavaSpring框架的用途
我一直在学习Spring,所以我决定阅读来自here的Spring文档。我面对下一句话:
Spring Framework is a Java platform that provides comprehensive infrastructure support for developing Java applications. Spring handles the infrastructure so you can focus on your application.
什么是comprehensive infrastructure
据我所知,春天:
- 帮助我们绑定整个依赖关系树李>
- 提供与不同技术\框架等的集成;(指JPA、JTA、AOP等)
- 提供附加服务,如Spring社交、大数据等李>
与上述三种说法相同吗强>
# 1 楼答案
我想说,他们特别指的是前两个。通过综合基础设施,Spring文档意味着它们提供了对控制反转和其他底层实现(如JDBC)的抽象。手动将对象连接在一起、连接到数据库、处理不必要的已检查异常等都不好玩,会影响应用程序的实际工作
# 2 楼答案
Spring Framework还可以处理并从您的代码中带走许多其他东西,包括:
除此之外,Spring Portfolio中还有其他处理其他事情的项目,请列举一些重要的项目:
更多信息: -Transaction Management Abstraction是Spring提供的对不同事务API(如JTA、JDBC事务、Hibernate事务等)的统一访问。。。。因此,您可以开始使用Hibernate Transaction进行编码,并将事务管理器更改为由应用程序服务器管理的容器,而无需更改任何代码(只需更改配置)
在使用基于JDBC的API(并且依赖于JDBC)时,比如Hibernate、JPA和MyBatis。Spring可以处理每个线程连接/事务的唯一性,所以如果使用JDBC进行一些查询,那么在单个事务中使用HQL和JPQL的查询都将使用单个连接/事务执行
当涉及到资源管理时,事情会变得很糟糕,例如,在处理JDBC工作时,你应该做如下事情:
正如您所看到的,有很多行代码只是为了执行一个查询,我也忽略了关闭
Statement
(如果我想释放,我应该添加一些嵌套的try-catch-finally
块)使用Spring JdbcTemplate,Spring handles all steps which are just for resource creation, and releasing。您只需编写业务逻辑所需的代码
除了JdbcTemplate,Spring还提供了其他一些模板,包括JpaTemplate、HibernateTemplate、TransactionTemplate、JmsTemplate、JNDemplate、RestTemplate、ReflectionUtils等等,。。。(以及其他一些Spring项目组合中的其他项目)。好消息是,大多数模板的回调都是单方法接口,如果您使用的是Java 8,则可以用
Java 8 Labmda
替代使用Spring数据访问模板时,数据访问异常的统一层次结构是另一个特性。因此,如果使用JDBC、Hibernate等。。。,所以,改变数据访问层的实现不会传播到其他层
Spring可以将方面应用于其容器中定义的bean。其中一个方面是异步方法调用,这在here中描述
您可以使用RMI、WebServices进行远程处理,而无需添加特定于框架的异常(如
RemoteException
)或实现接口(如Remote
)。事实上,您的客户机核心不知道bean的远程性,远程或本地是一个配置问题,可以查看更多信息hereSpring提供了更多的特性,是影响JavaEE的最重要因素之一。事实上,通过查看Spring所做的工作,JavaEE5+开始变得更简单。 欲了解更多信息,请亲自查阅文档