大家好!我是小刘,Java程序员对spring家族在熟悉不过了,吃饭的家伙呀!
可以说是spring把Java推上了又一波Java高峰。
一、Spring介绍
在日常开发过程中经常会提到三大框架(SSM)指的是Spring、SpringMVC、Mybatis。其中一个非常重要的框架就是Spring。Spring目前隶属于皮沃托公司,Spring在刚刚出来的时候只有Spring Framework一款产品。我们习惯性的简称它为Spring,但是发展到现在Spring旗下已经有非常非常多的框架了,例如:SpringBoot、SpringCloud、SpringData、SpringSecurity等等。但是我们还是习惯性成将Spring Framework成为Spring。
二、Spring到底是什么框架
Spring它并不想Mybatis专门去解决某一个层面的问题,它在项目成扮演的是一个管理者的角色,负责对我们的项目中的对象进行管理,包括创建、注入、代理等等。实现了一个解耦的目的。Spring在管理对象时会将对象存储起来,所以Spring我们也可以将它看成一个容器。
Spring的能力
https://spring.io/projects/spring-boot 官网
Spring的生态
覆盖了:
web开发
数据访问
安全控制
分布式
消息服务
移动开发
批处理
三、Spring的两大核心能力
IOC (控制反转)
IoC
inversion of control 控制反转,对于依赖的管理由调用方转移到Spring的容器中。
DI
dependency injection 依赖注入,强调属性的注入。
IoC与DI是同一件事情的两种描述方式
UserController -> UserService
Before userService是由UserController创建并管理
<bean id="dao" class="com.woniuxy.dao.Dao">
<property name="properties">//对应了类中Properties对象
<props>
<prop key="url">jdbc:mysql://localhost/woniudb</prop>
<prop key="driver">com.mysql.jdbc.Driver</prop>
</props>
</property>
</bean>
注解版的IOC:
注解版的IOC所使用的容器为:AnnotationConifgApplicationContext
使用注解创建对象:
使用注解创建对象可选的注解共4个:@Component、@Controller、@Service、@Repository
@Component:通用注解,可以添加在任意类的上面用于创建该类的对象。
@Controller:专用于创建控制层的对象
@Service:专用于创建业务层的对象
@Repository:专用于创建数据层的对象
使用注解完成对象创建的基本步骤
使用注解完成依赖注入共两个注解@Resource和@Autowired
@Resource:(java 提供的注解)在注入对象时优先从容器中注入一个和属性名称相同的对象。如果和这个属性名称相同的对象和属性类型不匹配将会报错。如果在容器中没有找到和这个属性名称相同的对象,再通过类型进行注入。ByName->ByType
@Autowired:(spring提供的注解)注入对象时优先通过类型去查找,如果同一个类型的对象在容器中有多个,它会在通过属性名称完成查找,如果在这个多个对象中有和它的属性名称相同的对象,就将该对象注入过去。如果这些对象和属性名称都不匹配,就抛出异常。
下一章回顾 Spring AOP
本篇文章来源于微信公众号: 小刘Java之路
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/11046.html