初识Spring框架
一、Ioc
1)概念:Ioc(Inversion Of Control)控制反转,也被称为依赖注入DI(Dependency Injection),是面向对象编程的一种思想。
2)作用:用来减低程序代码之间的耦合度。
1、深入剖析什么叫依赖?
解析:依赖在代码中一般指通过局部变量、方法参数、返回值等建立的对于其他对象调用的关系。(eg.在A类的方法中,实例化B类的对象并调用其方法已完成特定的功能,我们就说A类依赖B类)
2、控制反转的思想是什么?
解析:控制反转的思想是:将业务逻辑层不在依靠自身的代码去获取所依赖的具体DAO对象,而是把这项工作转交给了“第三方”。
3第一个案例-------------------->输出Hello,Spring
第一步:初识jar

第二步:创建HappyService类
package cn.happy.spring;
//第一个案例
public class HappyService {
//定义一个变量
private String info;
//定义一个方法
public void work(){
System.out.println("Hello,"+info);
}
@Override
//重写了object类的ToString()方法;说白了也就是object类的toString()方法不满足你的需求
//你根据需求重写一个toString方法
public String toString(){
return "HappyService[info="+info+"]";
}
public String getInfo() {
return info;
}
public void setInfo(String info) {
this.info = info;
} }
第三步:创建一个配置applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-4.1.xsd
"> <!-- IOC 将HappyService 交给Spring管理 -->
<bean id="happy" class="cn.happy.spring.HappyService">
<!-- DI 从setInfo方法得知,HelloService依赖info属性,注入-->
<property name="info" value="spring"/>
</bean>
</beans>
第四步:测试类
//第一个案例:“输出HelloSpring”
@Test
public void testHappyService(){ //ClassPathXmlApplicationContext实例化spring上下文
ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");
// ApplicationContext的getBean方法,根据id获取bean的实列
HappyService service=(HappyService) context.getBean("happy");
System.out.println(service.getInfo());
//执行work方法
/* service.work();*/
}
解析:ApplicationContext是一个接口
* 作用:负责读取Spring配置文件,管理对象的加载、生成,维护Bean对象与Bean对象之间的依赖关系,负责Bean的生命周期
ClassPathXmlApplicationContext是ApplicationContext接口的实现类
* 作用:用于从classpath路径中读取Spring配置文件
二、AOP
1)Aop的发展历史:
解析:AOP是面向切面编程(Aspect Oriented Programming)是软件编程思想发展到一定阶段的产物,是面向对象编程(Obejct Oriented Programming OOP)的
有益补充。
2)AOP的用途:
AOP一般适用于具有横切逻辑的场合,如访问控制、事务管理、性能监测等。
3)由上述我们也许疑问什么是横切逻辑呢?
解析:在业务系统中,总有一些散落、渗透到系统各处不得不处理的事情,这些穿插在既定业务中的操作就是所谓的“横切逻辑”,也称为“切面”。
4)AOP的作用:简单的说就是在不改变原程序的基础上为代码段增加新的功能,对代码进行增强处理。它的设计思想来源代理设计模式。
初识Spring框架的更多相关文章
- 初识 Spring 框架
初识 Spring 框架可以帮助我们构建规范的.优秀的应用程序,简化烦琐的编码过程. Spring 是一个非常著名的轻量级的企业级开源框架,Spring 的目标是使 Java EE 更易用并促进良好的 ...
- 初识Spring框架实现IOC和DI(依赖注入)
学习过Spring框架的人一定都会听过Spring的IoC(控制反转) .DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC .DI这两个概念是模糊不清的,是很难理解的, IoC是 ...
- 【10分钟学Spring】:(一)初识Spring框架
简介 Spring是一个轻量级的企业级的Java开发框架.主要是用来替代原来更加重量级的企业级Java技术,比如EJB(Enterprise JavaBean).Java数据对象(Java Data ...
- 初识Spring Boot框架(二)之DIY一个Spring Boot的自动配置
在上篇博客初识Spring Boot框架中我们初步见识了SpringBoot的方便之处,很多小伙伴可能也会好奇这个Spring Boot是怎么实现自动配置的,那么今天我就带小伙伴我们自己来实现一个简单 ...
- 初识Spring Boot框架
前面的铺垫文章已经连着写了六篇了,主要是介绍了Spring和SpringMVC框架,小伙伴们在学习的过程中大概也发现了这两个框架需要我们手动配置的地方非常多,不过做JavaEE开发的小伙伴们肯定也听说 ...
- 初识Spring Boot框架和快速入门
前面的铺垫文章已经连着写了六篇了,主要是介绍了spring和SpringMVC框架,小伙伴们在学习的过程中大概也发现了这两个框架需要我们手动配置的地方非常多,不过做JavaEE开发的小伙伴们肯定也听说 ...
- 深入理解Spring(一):初识Spring
深入理解Spring(一):初识Spring 一. Spring介绍 Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnso ...
- Spring框架概述
Spring是最流行的Java企业级应用开发框架,全球数以百万的开发者在使用Spring框架创建高性能.易测试.可重用的代码. Spring框架的核心特性可以应用于任何Java应用,但扩展的JavaE ...
- Spring 框架的架包分析、功能作用、优点,及jar架包简介
Spring 框架的架包详解 Spring的作用 Spring的优势 由于刚搭建完一个MVC框架,决定分享一下我搭建过程中学习到的一些东西.我觉得不管你是个初级程序员还是高级程序员抑或 ...
随机推荐
- css3使用box-sizing布局
css3增添了盒模型box-sizing,属性值有下面三个: content-box:默认值,让元素维持W3C的标准盒模型.元素的宽度/高度(width/height)(所占空间)等于元素边框宽度(b ...
- ES6 对象解构
ES6 对象解构 第一眼看到,什么鬼? const { body } = document `` 其实等于: const body = document.body ``` http://es6.rua ...
- No compatible targets were found.Do you wish to...的解决方案。
首先看问题,这个错误是说明没有android虚拟机,那么新建一个就OK了. 假如出现了这个状况:就点击yes,然后new一个: 添加Name等等的属性,点击ok,再运行就可以了. 这种情况一般是第一次 ...
- 快速入门系列--WCF--02消息、会话与服务寄宿
经过WCF基础的ABC学习,已经可以构建简单的WCF的服务,使用不同的服务地址和绑定类型,根据业务提供所需的服务契约.但不禁想问,服务所使用的消息报文是什么样的形式么?蕴含什么样内容呢?WCF服务是否 ...
- SQL PASS将于8月24日在北京中医药大学举办线下活动
活动主题:复制架构的实现和调优以及SQL Server BI在传统行业的应用 地点:北三环东路11号 北京中医药大学 白色的1号楼教学楼后楼5层511房间 时间:2013年8月24日 9:00-12: ...
- 新浪微博SDK开发(1):总述
花了几天时间,消耗了九牛六虎之力,新浪微博大部分API已经封装,但有部分API实在太难封装. 说起这封装,我必须严重地.从人品和技术层面鄙视一下新浪的程序员,实在太菜了.估计菜鸟都被大企业吸收了,菜到 ...
- 最先进的开源游戏引擎KlayGE 4.4发布
转载请注明出处为KlayGE游戏引擎,本文的永久链接为http://www.klayge.org/?p=2785 随着半年一个新版本的周期,今天KlayGE 4.4正式发布了!在这个版本的开发中,多名 ...
- java中得到classpath和当前类的绝对路径的一些方法(路径中的%20"进行替换空格)
原网址:http://blog.csdn.net/shendl/article/details/1427475 (注意:利用下面方式得到路径,如果路径中有空格字符, 那么会有"%20&quo ...
- Android UI设计中一些不错的示例及第三方控件
1.二级ListView自定义布局ExpandableListView http://pan.baidu.com/s/1mhlJh12 密码:nhc2 2.ListView实现各种动画效果ListVi ...
- Docker - Docker国内镜像的配置及使用
Docker国内镜像 DaoCloud - Docker加速器 阿里云 - 开发者平台 微镜像 - 希云cSphere 镜像广场 - 时速云 灵雀云 网易蜂巢 阿里云的Docker加速器 阿里云 - ...