Spring学习笔记--环境搭建和初步理解IOC

简介:   Spring框架是一个轻量级的框架,不依赖容器就能够运行,像重量级的框架EJB框架就必须运行在JBoss等支持EJB的容器中,核心思想是IOC,AOP,Spring能够协同Struts,hibernate等其他众多的框架.

  Spring框架是一个轻量级的框架,不依赖容器就能够运行,像重量级的框架EJB框架就必须运行在JBoss等支持EJB的容器中,核心思想是IOC,AOP,Spring能够协同Struts,hibernate等其他众多的框架.

  具体描述Spring:

    1.轻量级:Spring是非侵入性的,基于Spring来开发的应用中的对象可以不依赖于SpringAPI.

    2.依赖注入(DI)

    3.面向切面编程(AOP)

    4.容器,Spring是一个容器,包含并且管理应用对象的生命周期.

  下面介绍环境的搭建,首先下载好spring的完整包,我下载的是4.2.5版本的,在elipse中,新建java项目:

    1,导入核心jar包:

                

    2.在src目录下,创建spring配置文件(名称可以自定义,一般写为beans.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"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd">
    

</beans>

  到这里配置工作就已经完成了,现在来写第一个例子,来初步理解Spring的IOC思想.

新建实体类Person:

public class Person {

    private String name;
        //必须设置set方法,可以不需要get方法      
    public void setName(String name) {
        this.name = name;
    }
    public void eat(){
        System.out.println(name+"吃饭");
    }
}

在beans.xml中的beans标签下,添加以下内容:

<bean name="person" class="com.wang.bean.Person">
        <property name="name" value="张三"/>
</bean>

新建一个测试类,添加测试代码:

    @Test
    public void test(){
        //解析beans.xml,生成管理相应bean的对象
        ApplicationContext context=new ClassPathXmlApplicationContext("beans.xml");
        Person person =(Person)context.getBean("person");
        person.eat();
    }

控制台打印出:张三吃饭.

  到这里就该思考了.Person对象是由谁创建的?Person对象属性name是怎么设置上的?

  Person对象是由Spring容器创建的,Person对象属性也是通过Spring容器设置上的

  这个过程就叫控制反转(IOC):

    控制的意思:就是由谁来控制对象的创建,传统的应用程序对象是由程序本身控制的,使用Spring后,由Spring容器来控制对象的创建.

    反转:是指程序本身不去创建对象,而是变为被动的接收对象,Person类在这里,是没有new Person()这个动作的,但他接收了来自Spring容器创建好的对象.

    控制反转是一种编程思想,由主动编程变为被动接受.

    IOC的实现是由IOC的容器来实现的.

相关文章
|
2月前
|
XML Java 数据格式
Spring IoC容器初始化过程(xml形式)
Spring IoC容器初始化过程(xml形式)
46 0
|
3月前
|
消息中间件 Java 测试技术
Spring Cloud Alibaba环境问题之测试环境失败如何解决
Spring Cloud Alibaba提供了一套在Spring Cloud框架基础上构建的微服务解决方案,旨在简化分布式系统的开发和管理;本合集将探讨Spring Cloud Alibaba在实际应用中的部署和使用技巧,以及该框架常见问题的诊断方法和解决步骤。
|
2月前
|
Java Spring
Spring5深入浅出篇:Spring中ioc(控制反转)与DI(依赖注入)
Spring5深入浅出篇:Spring中ioc(控制反转)与DI(依赖注入)
|
1月前
|
Java 数据库连接 API
【Spring】1、Spring 框架的基本使用【读取配置文件、IoC、依赖注入的几种方式、FactoryBean】
【Spring】1、Spring 框架的基本使用【读取配置文件、IoC、依赖注入的几种方式、FactoryBean】
49 0
|
4天前
|
存储 安全 Java
第2章 Spring Security 的环境设置与基础配置(2024 最新版)(下)
第2章 Spring Security 的环境设置与基础配置(2024 最新版)(下)
13 0
|
4天前
|
安全 Java 数据库
第2章 Spring Security 的环境设置与基础配置(2024 最新版)(上)
第2章 Spring Security 的环境设置与基础配置(2024 最新版)
28 0
|
21天前
|
XML Java 数据格式
Spring(一)IOC小案例
Spring(一)IOC小案例
|
1月前
|
XML Java 数据格式
Spring 的奇幻起源:从 IoC 容器到 Bean 的魔法世界 (下)
Spring 的奇幻起源:从 IoC 容器到 Bean 的魔法世界
|
1月前
|
XML Java 数据格式
Spring 的奇幻起源:从 IoC 容器到 Bean 的魔法世界 (上)
Spring 的奇幻起源:从 IoC 容器到 Bean 的魔法世界 (上)