Spring框架[一]——spring概念和ioc入门(ioc操作xml配置文件)
Spring概念

- spring是开源的轻量级框架(即不需要依赖其他东西,可用直接使用)
spring核心主要两部分
- aop:面向切面编程,扩展功能不是修改源代码来实现;
- ioc:控制反转,比如:有一个类,在类中有个方法(非静态的方法),要调用类中的这个方法,则需要创建类的对象,使用对象调用方法。创建类对象的过程,需要new出来对象;而ioc则是将对象的创建不是通过new方式实现,而是交给spring配置来创建对象(即,将对象的创建交给spring来管理);
spring是一站式框架
- spring在javaee三层结构中,每一层都提供不同的解决技术
- web层:springMVC
- service层:spring的ioc
- dao层:spring的jdbcTemplate
spring版本
- hibernate5.x
- spring4.x
Spring入门
Spring的ioc操作
- 即:把对象的创建交给spring进行管理
- ioc两种操作方式:
- ioc的配置文件方式;
- ioc的注解方式;
IOC底层原理
- ioc底层原理使用的技术
- xml配置文件
- dome4j解析xml
- 工厂设计模式
- 反射
- 画图分析ioc实现原理

IOC入门案例
- 步骤:
- 导入jar包;
- 解压下载的spring-framework-4.2.4.RELEASE.zip文件,jar包特点:都有三个jar包(基本jar、文档jar、源码jar);

- 做spring基本功能,只需导入四个核心点jar包即可(Beans、core、Context、SpEL);

- 导入支持日志输出的jar包-logging、log4j(因为spring本身没有提供这种jar包);

- 解压下载的spring-framework-4.2.4.RELEASE.zip文件,jar包特点:都有三个jar包(基本jar、文档jar、源码jar);
- 创建类,在类中创建方法;
package cn.cbb.ioc; public class User { public void add() {
System.out.println("add ...");
} public static void main(String[] args) {
/**
* 调用类中的方法,原始做法是创建类对象,用对象调用方法;而现在则不再这样做了,
* 而是将对象的创建过程交给spring来配置实现,但是底层用的肯定是反射,我们不需
* 要写反射代码,由spring代我们做此操作
*/
User user = new User();
user.add();
}
} - 创建spring配置文件,配置创建类;
- spring核心配置文件名称和位置不是固定的,建议放在src下面,官方建议applicationContext.xml
- 引入schema约束

- 配置对象创建,配置如下:
<?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"> <!-- ioc入门,配置对象的创建 -->
<bean id="user" class="cn.cbb.ioc.User"></bean>
</beans>
- 写代码测试对象创建:
package cn.cbb.ioc; import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext; public class IOCTest { @Test
public void IOCTest() {
//1、加载spring配置文件,根据配置创建对象
ApplicationContext context = new ClassPathXmlApplicationContext("ApplicationContext.xml");
//2、得到配置创建的对象
User user = (User) context.getBean("user");
System.out.println(user);
user.add();
}
}
- 导入jar包;
配置文件无提示问题
Spring引入schema约束,把约束文件引入到eclipse中,以便配置文件编写提示:
spring的bean管理(xml配置文件)
bean实例化三种方式
- bean实例化,即:在spring里面通过配置文件创建对象;
- bean实例化的三种方式实现(掌握一种,其他两种知道即可):
- 无参构造函数创建(重点
Spring框架[一]——spring概念和ioc入门(ioc操作xml配置文件)的更多相关文章
- Spring框架系列(4) - 深入浅出Spring核心之面向切面编程(AOP)
在Spring基础 - Spring简单例子引入Spring的核心中向你展示了AOP的基础含义,同时以此发散了一些AOP相关知识点; 本节将在此基础上进一步解读AOP的含义以及AOP的使用方式.@pd ...
- Spring 框架的概述以及Spring中基于XML的IOC配置
Spring 框架的概述以及Spring中基于XML的IOC配置 一.简介 Spring的两大核心:IOC(DI)与AOP,IOC是反转控制,DI依赖注入 特点:轻量级.依赖注入.面向切面编程.容器. ...
- Spring框架系列(3) - 深入浅出Spring核心之控制反转(IOC)
在Spring基础 - Spring简单例子引入Spring的核心中向你展示了IoC的基础含义,同时以此发散了一些IoC相关知识点; 本节将在此基础上进一步解读IOC的含义以及IOC的使用方式.@pd ...
- 【Spring】Spring框架之Struts2和Spring的优点
Java Web开发使用Structs2和Spring框架的好处 今年我一直在思考web开发里的前后端分离的问题,到了现在也颇有点心得了,随着这个问题的深入,再加以现在公司很多web项目的控制层的技术 ...
- Spring框架学习之--搭建spring框架
此文介绍搭建一个最最简单的spring框架的步骤 一.创建一个maven项目 二.在pom.xml文件中添加依赖导入spring框架运行需要的相关jar包 注意:在引入jar包之后会出现org.jun ...
- Java开发工程师(Web方向) - 04.Spring框架 - 第1章.Spring概述
第1章.Spring概述 Spring概述 The Spring Framework is a lightweight solution and a potential one-stop-shop f ...
- 学习Spring框架系列(一):通过Demo阐述IoC和DI的优势所在
Spring框架最核心东西便是大名鼎鼎的IoC容器,主要通过DI技术实现.下面我通过Demo的演变过程,对比学习耦合性代码,以及解耦和的过程,并深入理解面向接口编程的真正内涵. 这个例子包括如下几个类 ...
- 手写Spring框架,加深对Spring工作机制的理解!
在我们的日常工作中,经常会用到Spring.Spring Boot.Spring Cloud.Struts.Mybatis.Hibernate等开源框架,有了这些框架的诞生,平时的开发工作量也是变得越 ...
- Spring框架第一篇之Spring的第一个程序
一.下载Spring的jar包 通过http://repo.spring.io/release/org/springframework/spring/地址下载最新的Spring的zip包,当然,如果你 ...
随机推荐
- 嵌入式常用技术概览之SPI
一.先决知识 (1)理解并知道移位寄存器如何工作 二.SPI概述 SPI(serial Peripheral Interface 串行片上(外围)设备接 ...
- ELK之elasticsearch导致CPU居高不下系统慢解决办法
参考:http://zoufeng.net/2018/07/16/cpu-of-elasticsearch-high-search-slow/ elasticsearch主机CPU居高不下100%左右 ...
- oracle 数据库、实例、服务名、SID
参考:http://www.zhetao.com/content240 在实际的开发应用中,关于Oracle数据库,经常听见有人说建立一个数据库,建立一个Instance,启动一个Instance之类 ...
- POJ 2187 - Beauty Contest - [凸包+旋转卡壳法][凸包的直径]
题目链接:http://poj.org/problem?id=2187 Time Limit: 3000MS Memory Limit: 65536K Description Bessie, Farm ...
- idea便利配置使用配置
让properties能够中文正确显示 1.file encoding ---改为utf-8 spring的autowried没得错误,mybaties没得黄色背景 inspections--spri ...
- 10大必备的Intellij插件,大幅提高你的工作效率
转自: https://blog.csdn.net/qq1404510094/article/details/80379375 1. .ignore 生成各种ignore文件,一键创建git igno ...
- iptables 分析(1)
原文:http://blog.chinaunix.net/uid-24207747-id-2622900.html iptables 是用户空间中用于管理包过滤及NAT 等的工具应用程序.它设置防火墙 ...
- 【Mac】-NO.100.Mac.1.java.1.001-【Mac Install multiple JDK】-
Style:Mac Series:Java Since:2018-09-10 End:2018-09-10 Total Hours:1 Degree Of Diffculty:5 Degree Of ...
- 把ResNet-L152模型的ckpt文件转化为pb文件
import tensorflow as tf from tensorflow.python.tools import freeze_graph #os.environ['CUDA_VISIBLE_D ...
- [渣译文] 使用 MVC 5 的 EF6 Code First 入门 系列:建立一个EF数据模型
英文渣水平,大伙凑合着看吧…… 这是微软官方教程Getting Started with Entity Framework 6 Code First using MVC 5 系列的翻译,这里是第一篇: ...
- Spring框架系列(4) - 深入浅出Spring核心之面向切面编程(AOP)
- 无参构造函数创建(重点