前言

了解了什么是Spring,接下来我们来创建我们的第一个Spring程序。

一、思考问题?

  • Hello对象是谁创建的?
  • hello对象是由Spring创建的.
  • Hello 对象的属性是怎么设置的?
  • hello对象的属性是由Spring容器设置的。
    这个过程就叫控制反转:
    控制:谁来控制对象的创建,传统应用程序的对象是由程序本身控制创建的,使用Spring后,对象是由Spring来创建的.
    反转(ioc):程序本身不创建对象,而变成被动的接收对象.
    依赖注入(di):就是利用set方法来进行注入的.
    IOC是一种编程思想,由主动的编程变成被动的接收.可以通过newClassPathXmlApplicationContext去浏览一下底层源码。

二、使用步骤

需要的实体类

package com.shan.pojo;import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;@Data@NoArgsConstructor@AllArgsConstructor@ToString
public class Hello {private String str;}

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/beanshttp://www.springframework.org/schema/beans/spring-beans-3.0.xsd"><!--使用Spring来创建对象,在Spring这些都称为Bean类型 变量名 = new 类型();bean = 对象(Hello) --><bean id="hello" class="com.shan.pojo.Hello"><!--对象的属性,对象的值(需要set方法进行注入)--><property name="str" value="Hello World!" /></bean></beans>

需要的测试类

import com.shan.pojo.Hello;
import org.springframework.context.support.ClassPathXmlApplicationContext;public class MyTest {public static void main(String[] args) {//获取Spring的上下文对象ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");//我们的对象现在都在Spring中管理,我们要使用,直接从里面取出来就可以!Hello hello = (Hello) context.getBean("hello");System.out.println(hello.toString());}
}

总结

OK,到了现在,我们彻底不用再程序中去改动了,要实现不同的操作,只需要在xml配置文件中进行修改,所谓的lOC,一句话搞定:对象由Spring来创建,管理,装配!

作者有话说

博客创作不易,希望看到这里的读者动动你的小手点个赞,如果喜欢的小伙伴可以一键三连,作者大大在这里给大家谢谢了。

Spring学习2之helloSpring相关推荐

  1. Spring学习笔记1:IOC本质和依赖注入

    文章目录 1.IOC本质 1.1.拓展:关于Spring Boot 和 Spring Cloud 2.HelloSpring 3.IOC创建对象的方式 4.Spring配置 4.1.别名 4.2.Be ...

  2. spring学习12 -Spring 框架模块以及面试常见问题注解等

    以下为spring常见面试问题: 1.Spring 框架中都用到了哪些设计模式? Spring框架中使用到了大量的设计模式,下面列举了比较有代表性的: 代理模式-在AOP和remoting中被用的比较 ...

  3. 【Spring学习笔记-MVC-13.2】Spring MVC之多文件上传

    作者:ssslinppp       1. 摘要 前篇文章讲解了单文件上传<[Spring学习笔记-MVC-13]Spring MVC之文件上传>http://www.cnblogs.co ...

  4. Spring学习笔记(三) AOP_annotation,AOP_XML

    在学习课程以前,听说AOP有种很神秘的感觉,好像很好深的技术.其实原理很简单,使用动态代理的方式给程序增加逻辑.与此相似的有struts2中的filter拦截器. 再讲AOP之前先把需求说一下: 同S ...

  5. 送给 Java 程序员的 Spring 学习指南

    https://www.infoq.cn/article/Ad-8ghcGGCNU572U6oEX 学习 Spring 的基础要求 Spring 官网首页是这么介绍自己的--"Spring: ...

  6. Spring学习总结三

    Spring框架JdbcTemplate与事务 Spring学习总结三 0.需要的jar包 1.JdbcTemplate模板 1.1.JdbcTemplateAPI的操作 1.1.1.User类 1. ...

  7. Spring学习总结二

    Spring框架的代理与AOP.AspectJ Spring学习总结二 0.在理解什么是AOP之前的一些话 1.什么是AOP 2.AOP的重要概念 3.代理模式 3.1.静态代理 3.2.动态代理 3 ...

  8. Spring学习总结一

    Spring框架IoC与DI思想及应用 Spring学习总结一 1.Spring是什么 2.Spring的优点 2.1.关键概念 2.2.Spring的优点 3.Spring的架构图 3.1.核心容器 ...

  9. Spring学习(九)Spring 和数据库编程【了解】

    本文借鉴:Spring学习,Spring框架总结 一.传统 JDBC 回顾 用一个大佬的demo来简单看一下 /*** 使用jdbc,根据id查询单个Student的信息*/ public class ...

最新文章

  1. 发现一个工具,可以清除 xp win7 用户密码,在PE下运行
  2. 新手探索NLP(六)——全文检索
  3. Python3实现邮箱发送
  4. C++ 友元--friend (转载)
  5. 别忘记今天是父亲节六盘水
  6. linux 笔记--系统启动流程
  7. mysql可连接_mysql开启远程可连接
  8. 中国第一批写java的人_中国java开源界最可爱的人们
  9. golang---map类型
  10. python epoll 写数据到数据库_Python--day40(EPOLL的使用、数据库基础)
  11. WPF仿网易云音乐系列(二、歌单创建窗口+登录设置模块)
  12. Cascadea for Mac(强大的CSS编辑器)
  13. 使用struts框架的简单jsp登录页面
  14. 7.Excel数据分析-员工考勤表
  15. 袋鼠云数智之旅·上海站|探索“十四五”智慧校园新图景
  16. (JavaScript)浮动广告代码
  17. 涂涂乐的详细实现之四--unity3d调用EmguCV实现图片识别
  18. headfirst 笔记 第七章
  19. 多线程顺序执行四种方案
  20. c语言排序常用问题,【更新中】【排序详解】解决排序问题(以C语言为例)

热门文章

  1. python怎么自动生成测试报告_python生成接口自动化测试报告模版
  2. Matplotlib实例教程(九)热力图
  3. LeetCode题组:第169题-多数元素
  4. 送给 Java 程序员的 Spring 学习指南
  5. 肖仰华:基于知识图谱的用户理解
  6. Docker源码分析(七):Docker Container网络 (上)
  7. Apache Hadoop YARN – NodeManager--转载
  8. Redis运行流程源码解析--转载
  9. Lesson 6.动态计算图与梯度下降入门
  10. 模拟上帝之手的对抗博弈——GAN背后的数学原理