Jar包下载:https://pan.baidu.com/s/1dhWvWuksAIJ0YnBzCsV_mg 密码:8h7b
IOC :控制反转,将对象的创建权交给了 Spring.
DI :Dependency Injection 依赖注入.需要有 IOC 的环境,Spring 创建这个类的过程中,Spring 将类的依
赖的属性设置进去.
Spring的好处(Spring其实就是一个存放对象的容器):
一、方便解耦,简化开发(IOC,控制反转)
Spring 就是一个大工厂,可以将所有对象创建和依赖关系维护,交给 Spring 管理
二、AOP 编程的支持
Spring 提供面向切面编程,可以方便的实现对程序进行权限拦截、运行监控等功能
三、声明式事务的支持
只需要通过配置就可以完成对事务的管理,而无需手动编程
四、方便程序的测试
Spring 对 Junit4 支持,可以通过注解方便的测试 Spring 程序
五、方便集成各种优秀框架
Spring 不排斥各种优秀的开源框架,其内部提供了对各种优秀框架(如:Struts、Hibernate、MyBatis、Quartz 等)的直接支持
六、降低 JavaEE API 的使用难度
Spring 对 JavaEE 开发中非常难用的一些 API(JDBC、JavaMail、远程调用等),都提供了封装,使这些 API 应用难度大大降低
Spring Jar包图解:
Spring项目简单搭建步骤:
一、导入Spring最最基本的Jar包:
src/applicationContext.xml(Spring的配置文件,注册对象;建议放在src目录下,建议命名成"applicationContext")
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.springframework.org/schema/beans" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd ">
<!-- 注册对象,将User对象交给spring容器管理 -->
<!-- Bean元素:使用该元素描述需要spring容器管理的对象
class属性:被管理对象的完整类名.
name属性:给被管理的对象起个名字.获得对象时根据该名称获得对象.
可以重复.可以使用特殊字符.(不建议重复)
id属性: 与name属性一模一样.
名称不可重复.不能使用特殊字符.
结论: 尽量使用name属性.
-->
<bean name="user" class="cn.xxx.bean.User" ></bean>
</beans>
Test.java(测试类,通过Spring容器取出对象):
package cn.xxx.demo;
import org.junit.Test;
import org.springframework.context.ApplicationContext; //导入的是Spring框架的包
import org.springframework.context.support.ClassPathXmlApplicationContext;
import cn.xxx.bean.User;
public class Test {
@Test
public void fun1(){
//1 创建容器对象 (在创建ApplicationContext容器时,就同时创建好了容器中所有的对象)
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
//2 通过容器获取user对象 (对象已经提前被创建好了,只是获取而已)
User u = (User) ac.getBean("user");
//3 打印user对象
System.out.println(u);
}
}