spring入门基础(二)
2015-08-05 11:03
441 查看
举个例子,就是说如果我们要在一个bean中使用另一个bean的东西怎么来通过配置spring完成,例如:
这段代码里sayBye这个函数就是别的bean里的内容,换句话说就是是别的class的内容,只是这样单纯的写在sayHello里运行时是不能正常走起来的,因为我们整个的都是通过spring来配置的,在spring的配置文件中:
通过这个简单的例子,我们可以看出来,spring实际上是一个容器框架,可以配置各种bean(action/service/domain/dao),并且可以维护bean与bean的关系,当我们需要使用某个bean的时候,我们可以getBean(id),使用即可.
那么spring中有几个是重要的概念。首先是:ioc
ioc(inverse of controll ) 控制反转: 所谓控制反转就是把创建对象(bean),和维护对象(bean)的关系的权利从程序中转移到spring的容器(applicationContext.xml),而程序本身不再维护.
其实就是上边的那个例子,正是因为转移到了applicationContext.xml里,所以才必须要进行配置才可以
然后是:di
di(dependency injection) 依赖注入: 实际上di和ioc是同一个概念,spring设计者认为di更准确表示spring核心技术
这个依赖注入在上个例子也有很好的体现,依赖就是bean与bean之间的依赖,更为复杂的还有相互依赖的关系,注入其实就是一个给变量赋值的过程,这个过程其实也就是spring的核心技术了,主要就是配置applicationContext.xml这个文件,用这种方式控制,代替了传统的都在Java程序控制
public void sayHello(){ System.out.println("Hello, " + username); byeservice.sayBye(); }
这段代码里sayBye这个函数就是别的bean里的内容,换句话说就是是别的class的内容,只是这样单纯的写在sayHello里运行时是不能正常走起来的,因为我们整个的都是通过spring来配置的,在spring的配置文件中:
<bean id="userService" class="com.service.UserService"> <!-- 提现一个注入的概念,这个username就是类里自己的属性 --> <property name="username"> <value>某某某</value> </property> <property name="byeservice" ref="byeService" /> </bean> <bean id="byeService" class="com.service.ByeService"> <property name="name"> <value>某某某</value> </property> </bean>就是在这个bean里边再加一个property,name后的就是你自己起的变量名,ref就是你应用的另一个bean的名字,尽量粘贴不要写错字,否则差错会很麻烦
通过这个简单的例子,我们可以看出来,spring实际上是一个容器框架,可以配置各种bean(action/service/domain/dao),并且可以维护bean与bean的关系,当我们需要使用某个bean的时候,我们可以getBean(id),使用即可.
那么spring中有几个是重要的概念。首先是:ioc
ioc(inverse of controll ) 控制反转: 所谓控制反转就是把创建对象(bean),和维护对象(bean)的关系的权利从程序中转移到spring的容器(applicationContext.xml),而程序本身不再维护.
其实就是上边的那个例子,正是因为转移到了applicationContext.xml里,所以才必须要进行配置才可以
然后是:di
di(dependency injection) 依赖注入: 实际上di和ioc是同一个概念,spring设计者认为di更准确表示spring核心技术
这个依赖注入在上个例子也有很好的体现,依赖就是bean与bean之间的依赖,更为复杂的还有相互依赖的关系,注入其实就是一个给变量赋值的过程,这个过程其实也就是spring的核心技术了,主要就是配置applicationContext.xml这个文件,用这种方式控制,代替了传统的都在Java程序控制
相关文章推荐
- java方法
- Java自定义注解的个人理解
- 解决Java应用程序连接Acces问题心得一
- 生成中文版JavaDoc
- Java--对象构造和初始化
- Struts 2 + Hibernate + Spring 整合要点
- Java错误提示-------java.net.SocketException:Unrecognized Windows Sockets error: 0: JVM_Bind
- java 错误:找不到或无法加载主类的解决办法
- Java堆和栈
- Java堆和栈
- 解决myeclipse中不能自动装箱拆箱问题
- spring + springmvc + jdbc + quartz + maven整合
- eclipse中生成javadoc文档
- 在springMVC中使用自定义的异常处理
- java数组
- JAVA中使用FTPClient上传下载
- 如何用JUnit4测试spring service
- java中的float double精度丢失
- Eclipse 安装 FreeMarker IDE 方法
- Java环境变量的配置步骤及JDK、JRE