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包




spring validated全部通过_xml



在lib里面是Spring的一些必要的jar包



spring validated全部通过_ioc_02



在开始了解Spring的时候,上次的jdbctemplate的对数据的操作

这次显示开始的简单的spring通过运行TestSpring演示如何用Spring获取一个对象,并打印其name

先创建一个category类演示IOC和DI



spring validated全部通过_spring boot_03



applicationContext.xml是Spring的核心配置文件,通过关键字c即可获取Category对象,该对象获取的时候,即被注入了字符串"category 1“到name属性中



spring validated全部通过_spring boot_04



可以打印出通过Spring拿到的Category对象的name属性



spring validated全部通过_spring boot_05



先只是获取name的values的值



spring validated全部通过_xml_06






spring validated全部通过_ioc_07



传统的方式:

通过new 关键字主动创建一个对象

IOC方式

对象的生命周期由Spring来管理,直接从Spring那里去获取一个对象。 IOC是反转控制




spring validated全部通过_java_08




2.通过注入的方式

创建一个product类

Product类中有对Category对象的setter getter



spring validated全部通过_ioc_09



在applicationContext.xml中在创建Product的时候注入一个Category对象

注意,这里要使用ref来注入另一个对象



spring validated全部通过_xml_10



通过Spring拿到的Product对象已经被注入了Category对象了



spring validated全部通过_spring_11



最后获取的values的值



spring validated全部通过_xml_12



就是通过spring的注入product里面来注入再通过调用



spring validated全部通过_ioc_13



开始对比注入和没有注入的区别

直接获取,没有注入的

1.最先是通过context来建立applicationContext.xml的连接起来

2.applicationContext.xml里面的配置bean里面的数据

3.在get.getname() 获取values值



spring validated全部通过_spring_14






spring validated全部通过_spring_15



通过注入获取

1.Product类中有对Category对象的setter getter方法



spring validated全部通过_spring boot_16



2.就是在里面多加一个property 主要是热风连接上面category的name值



spring validated全部通过_java_17



3.前面的context的链接一样到XML,就是后面调用有一点多的



spring validated全部通过_spring_18



多了一个 getCategory().getName();

先是get类再是get里面的getname-------->


今天完成的事:就是开始多的了解了spring的IOC主要是解耦的,还有简单的了解了一下注入的方式,获取applicationContext.xml里面bean里面配置的值


明天的任务:再继续的学习注解的IOC和Di 好友AOP面向切面的编程,看看到时候前面的IOC和Di完成怎么样



spring validated全部通过_java_19




今天的遇到的困难:就是开始没有注入的时候写了一个怎么获取applicationContext.xml里面bean的值,但是后面那个product里面开始为什么要和Category里面的getter 和 setter方式这个为什么要这么弄,我就是看懂怎么用哪个,原理不是很清楚,那个spring的注入还是比较方便的