Spring框架
Posted 21karat
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring框架相关的知识,希望对你有一定的参考价值。
在Java应用中,Spring框架是必须的,Spring的核心是IOC(控制反转)以及AOP(面向切面编程)
IOC
1.它是一个大容器。方便组装和管理各类系统内外部资源。在Spring中,它会认为一切Java资源都是Java Bean,容器的目标就是管理这些Bean和它们之间的关系。
2.SpringIOC管理对象和其依赖关系,采用的不是人为的主动创建,而是由SpringIOC自己通过描述创建的,也就是说Spring是依靠描述来完成对象的创建及其依赖关系。
3.描述(XML配置文件),我们不使用new的方式去创建对象,而是使用XML配置文件的方式让SpringIOC容器自己去找对象,例如:
1 <bean id="user" class="com.aone.user"/> 2 <bean id="person" class="com.aone.person"> 3 <property name="user" ref="user"/> 4 </bean>
如果要切换其它引用那么只需要修改<bean id="user" class="com.aone.user"/>配置文件就可,不需要再去new 其它对象。
这种方式将bean之间的依赖关系解耦了,使程序结构更加清晰。
AOP
1.对面向对象的补充,目前广泛用于日志和数据库事务控制,减少了大量重复代码,使得程序更加清晰。
2.在默认情况下,只要Spring接受到了异常信息,它就会将数据库的事务回滚,从而保证数据的一致性。例如:
1 private void updateUser(User user){ 2 3 /*************/ 4 //关于对象的其它操作 5 /*************/ 6 //判断User是否存在 7 boolean flag=userService.isNot(user); 8 if(flag==false){ 9 //不存在抛出异常 10 throw new RuntimeException("用户不存在");//对象的其它操纵也会回滚 11 } 12 }
为什么使用Spring框架?
使用Spring框架可以达到模块解耦,控制对象之间的协作目的,所以Spring框架流行。
以上是关于Spring框架的主要内容,如果未能解决你的问题,请参考以下文章
初识Spring源码 -- doResolveDependency | findAutowireCandidates | @Order@Priority调用排序 | @Autowired注入(代码片段
初识Spring源码 -- doResolveDependency | findAutowireCandidates | @Order@Priority调用排序 | @Autowired注入(代码片段
使用实体框架迁移时 SQL Server 连接抛出异常 - 添加代码片段
Spring boot:thymeleaf 没有正确渲染片段
What's the difference between @Component, @Repository & @Service annotations in Spring?(代码片段
spring练习,在Eclipse搭建的Spring开发环境中,使用set注入方式,实现对象的依赖关系,通过ClassPathXmlApplicationContext实体类获取Bean对象(代码片段