2、spring入门—Spring IOC容器
来源:互联网 发布:mac 显示器校准 编辑:程序博客网 时间:2024/04/30 22:27
一 接口
接口:只能有声明不能有实现,支持多重继承(在java8中接口可以拥有方法体)
抽象类:即可以有包含实现的声明也可以有不包含实现的声明
类:声明必须包含实现
接口实现的变动不会影响其他各层的调用,对公共服务非常重要
二 IOC——控制反转
控制反转:控制权的转移,应用程序本身不负责依赖对象的创建与维护,而是由外部容器负责创建和维护。
依赖注入(DI):是一种实现方式,由IOC容器在运行期间,动态的将某种依赖关系注入到对象之中
目的:创建对象并且组装对象之间的关系
三 Spring的bean配置
在IOC容器中将所有的控制对象称作bean,Spring对于bean的使用有两种方式:基于spring-ioc.xml的配置和注解。
注意xml中关于bean的配置程序段
<bean id="oneInterface(自定义)" class="配置的实现类"></bean>
使用示例:
public void test(){
OneInterface interface=super.getBean("oneInterface");//获取bean,不需要new对象
interface.hello();//调用函数
}
#spring——Spring注入方式#
Spring是指在启动Spring容器加载bean配置的时候,完成对变量的赋值行为
常用注入方式:设值注入,构造注入
注意:参数的名称必须保持一致!!!!
设值注入(不需要显示地调用set方法,会根据xml的相关配置自动进行调用。)
利用属性或成员变量的set方法进行注入
其中property里面的name是需要注入参数的成员变量的名称,ref是注入参数引入bean的名称
构造注入
使用constructor-arg
根据ref,将ref所指对象的实例赋值给name所指成员变量
<!-- <bean id="injectionService" class="com.imooc.ioc.injection.service.InjectionServiceImpl"> -->
<!-- <property name="injectionDAO" ref="injectionDAO"></property> -->
<!-- </bean> -->
<bean id="injectionService" class="com.imooc.ioc.injection.service.InjectionServiceImpl">
<constructor-arg name="injectionDAO" ref="injectionDAO"></constructor-arg>
</bean>
<bean id="injectionDAO" class="com.imooc.ioc.injection.dao.InjectionDAOImpl"></bean>
以下转载自http://blog.csdn.net/qql2011/article/details/52870940
从慕课网的java工程师路径一路学上来,感觉很顺利,但鉴于Spring系列对新手不太友好,写点我的理解希望对新手有点帮助!
慕课网地址:http://www.imooc.com/learn/196
1、搭建环境
由于老师用的环境比较复杂,我们暂时不需要那么复杂的环境,可以先搭建一个简单点的!注重对知识的学习即可:
在eclipse中新建web工程:
填入项目名,点击呢next->next,生成web.xml打勾,完成:
引入jar包,除了老师所给的spring1、2外还需要引入junit-4.10.jar包和commons-logging-1.1.jar
可以从我的百度云下载:http://pan.baidu.com/s/1mijRa2W
这样就可以开始学习了。
2、创建接口及实现
在Java Resources/src新建新建一个包com.imooc.ioc.interfaces,并在包里新建一个接口OneInterface和一个实现OneInterfaceImpl:
- package com.imooc.ioc.interfaces;
- public interface OneInterface {
- public void say(String word);
- }
- package com.imooc.ioc.interfaces;
- public class OneInterfaceImpl implements OneInterface {
- public void say(String word) {
- return "Word from interface \"OneInterface\":"+word;
- }
- }
- <?xml version="1.0" encoding="UTF-8"?>
- <beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://www.springframework.org/schema/beans
- http://www.springframework.org/schema/beans/spring-beans.xsd">
- <bean id="oneinterface" class="com.imooc.ioc.interfaces.OneInterfaceImpl"></bean>
- </beans>
老师视频中用的父类UnitTestBase是自己自定义的,我们需要用的前面junit中学到的知识自己写个简单点的测试方法:
- package com.imooc.ioc.interfaces;
- import org.junit.After;
- import org.junit.Before;
- import org.junit.Test;
- import org.springframework.context.support.ClassPathXmlApplicationContext;
- public class Main {
- private ClassPathXmlApplicationContext ctx;
- @Before
- public void init(){
- ctx = new ClassPathXmlApplicationContext("spring-ioc.xml");
- ctx.start();
- }
- @Test
- public void testHello(){
- OneInterface oneinterface = (OneInterface)ctx.getBean("oneinterface");
- System.out.println(oneinterface.say("我的输入参数"));
- }
- @After
- public void detroy(){
- ctx.destroy();
- }
- }
这样就可以运行Junit测试了,整体预览:
运行:
结果:
这样大体实现了老师的功能。
- 2、spring入门—Spring IOC容器
- Spring入门——Spring IOC容器
- Spring IOC容器---入门 一
- Spring IoC容器--入门 二
- spring入门之IOC容器
- Spring(2): IoC容器
- Spring AOP 和 IOC 容器入门
- Spring 框架简介(Spring AOP 和 IOC 容器入门)
- Spring反转容器IOC
- spring的Ioc容器
- Spring-- IOC容器详解
- Spring IOC 容器说明
- Spring IoC容器小结
- Spring--IoC容器
- Spring IoC 容器概述
- Spring的IoC容器
- Spring IOC 容器
- Spring之IoC容器
- poj1308&&openjudge310:Is It A Tree?
- 学习android
- 常用正则表达式整理
- 虚拟机Nat模式下设置静态ip
- Android事件分发机制完全解析,带你从源码的角度彻底理解(下)
- 2、spring入门—Spring IOC容器
- ReactNative学习——集成到原生android项目中
- U盘快捷方式病毒修复
- android细字体
- 运行Android程序时DDMS报错:Failed to initialize Monitor Thread: Unable to establish loopback connection。
- 机器之心对俞栋的采访
- stm32寄存器版学习笔记01 GPIO口的配置(LED、按键)
- 大数据性能调优之HBase的RowKey设计
- 获取 UITextView 的光标位置