Spring能做什么
Spring是一个轻量级的控制反转(Ioc/di)和面向切面编程(AOP)的对象容器框架。Ioc是一种思想,di是ioc的具体实现方式。
- 方便解耦,简化开发
- AOP编程的支持
- 声明式事务的支持
- 方便程序的调试
- 方便集成各种优秀框架
spring data jpa:适合小项目,基于hibernate,开发速度极快
mybatis:大项目,速度稍慢
搭建一个spring项目
去spring官网下载 spring官网下载链接
从解压后的文件中拷贝spring的几个核心jar到项目中
启动项目后发现报错,是因为还缺少commons-logging的jar包,spring的日志输出需要此jar包,所以我们再次添加jar
引入commons-logging之后运行还是报错,那是因为我们没有在applicationContext.xml中写任何配置
编写applicationContext.xml
再次运行项目,输出成功
通过此demo我们发现我们并没有通过new的方式去获取person对象,而是直接从容器中去取,这就是spring帮我们做的事情。
spring的DI
- 构造方法注入
配置文件中进行配置
Person类中写对应的构造方法
此时不再需要set对应值即可输出对象 - setter注入
- 基于注解的注入