spring 入门的demo 注入方式获取values的值
昨天完成简单的JUnit的测试
今天学习Spring,看看spring的知识学的怎么样(然后再尝试的去完成spring和Junit的任务)
1.Spring是一个基于IOC和AOP的结构J2EE系统的框架
IOC 反转控制 是Spring的基础,Inversion Of Control
简单说就是创建对象由以前的程序员自己new 构造方法来调用,变成了交由Spring创建对象
DI 依赖注入 Dependency Inject. 简单地说就是拿到的对象的属性,已经被注入好相关值了,直接使用即可。
开始下载Spring jar ---->所用的jar包
在lib里面是Spring的一些必要的jar包
在开始了解Spring的时候,上次的jdbctemplate的对数据的操作
这次显示开始的简单的spring通过运行TestSpring演示如何用Spring获取一个对象,并打印其name
先创建一个category类演示IOC和DI
applicationContext.xml是Spring的核心配置文件,通过关键字c即可获取Category对象,该对象获取的时候,即被注入了字符串"category 1“到name属性中
可以打印出通过Spring拿到的Category对象的name属性
先只是获取name的values的值
传统的方式:
通过new 关键字主动创建一个对象
IOC方式
对象的生命周期由Spring来管理,直接从Spring那里去获取一个对象。 IOC是反转控制
2.通过注入的方式
创建一个product类
Product类中有对Category对象的setter getter
在applicationContext.xml中在创建Product的时候注入一个Category对象
注意,这里要使用ref来注入另一个对象
通过Spring拿到的Product对象已经被注入了Category对象了
最后获取的values的值
就是通过spring的注入product里面来注入再通过调用
开始对比注入和没有注入的区别
直接获取,没有注入的
1.最先是通过context来建立applicationContext.xml的连接起来
2.applicationContext.xml里面的配置bean里面的数据
3.在get.getname() 获取values值
通过注入获取
1.Product类中有对Category对象的setter getter方法
2.就是在里面多加一个property 主要是热风连接上面category的name值
3.前面的context的链接一样到XML,就是后面调用有一点多的
多了一个 getCategory().getName();
先是get类再是get里面的getname-------->
今天完成的事:就是开始多的了解了spring的IOC主要是解耦的,还有简单的了解了一下注入的方式,获取applicationContext.xml里面bean里面配置的值
明天的任务:再继续的学习注解的IOC和Di 好友AOP面向切面的编程,看看到时候前面的IOC和Di完成怎么样
今天的遇到的困难:就是开始没有注入的时候写了一个怎么获取applicationContext.xml里面bean的值,但是后面那个product里面开始为什么要和Category里面的getter 和 setter方式这个为什么要这么弄,我就是看懂怎么用哪个,原理不是很清楚,那个spring的注入还是比较方便的