Spring学习2之helloSpring
前言
了解了什么是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相关推荐
- Spring学习笔记1:IOC本质和依赖注入
文章目录 1.IOC本质 1.1.拓展:关于Spring Boot 和 Spring Cloud 2.HelloSpring 3.IOC创建对象的方式 4.Spring配置 4.1.别名 4.2.Be ...
- spring学习12 -Spring 框架模块以及面试常见问题注解等
以下为spring常见面试问题: 1.Spring 框架中都用到了哪些设计模式? Spring框架中使用到了大量的设计模式,下面列举了比较有代表性的: 代理模式-在AOP和remoting中被用的比较 ...
- 【Spring学习笔记-MVC-13.2】Spring MVC之多文件上传
作者:ssslinppp 1. 摘要 前篇文章讲解了单文件上传<[Spring学习笔记-MVC-13]Spring MVC之文件上传>http://www.cnblogs.co ...
- Spring学习笔记(三) AOP_annotation,AOP_XML
在学习课程以前,听说AOP有种很神秘的感觉,好像很好深的技术.其实原理很简单,使用动态代理的方式给程序增加逻辑.与此相似的有struts2中的filter拦截器. 再讲AOP之前先把需求说一下: 同S ...
- 送给 Java 程序员的 Spring 学习指南
https://www.infoq.cn/article/Ad-8ghcGGCNU572U6oEX 学习 Spring 的基础要求 Spring 官网首页是这么介绍自己的--"Spring: ...
- Spring学习总结三
Spring框架JdbcTemplate与事务 Spring学习总结三 0.需要的jar包 1.JdbcTemplate模板 1.1.JdbcTemplateAPI的操作 1.1.1.User类 1. ...
- Spring学习总结二
Spring框架的代理与AOP.AspectJ Spring学习总结二 0.在理解什么是AOP之前的一些话 1.什么是AOP 2.AOP的重要概念 3.代理模式 3.1.静态代理 3.2.动态代理 3 ...
- Spring学习总结一
Spring框架IoC与DI思想及应用 Spring学习总结一 1.Spring是什么 2.Spring的优点 2.1.关键概念 2.2.Spring的优点 3.Spring的架构图 3.1.核心容器 ...
- Spring学习(九)Spring 和数据库编程【了解】
本文借鉴:Spring学习,Spring框架总结 一.传统 JDBC 回顾 用一个大佬的demo来简单看一下 /*** 使用jdbc,根据id查询单个Student的信息*/ public class ...
最新文章
- 发现一个工具,可以清除 xp win7 用户密码,在PE下运行
- 新手探索NLP(六)——全文检索
- Python3实现邮箱发送
- C++ 友元--friend (转载)
- 别忘记今天是父亲节六盘水
- linux 笔记--系统启动流程
- mysql可连接_mysql开启远程可连接
- 中国第一批写java的人_中国java开源界最可爱的人们
- golang---map类型
- python epoll 写数据到数据库_Python--day40(EPOLL的使用、数据库基础)
- WPF仿网易云音乐系列(二、歌单创建窗口+登录设置模块)
- Cascadea for Mac(强大的CSS编辑器)
- 使用struts框架的简单jsp登录页面
- 7.Excel数据分析-员工考勤表
- 袋鼠云数智之旅·上海站|探索“十四五”智慧校园新图景
- (JavaScript)浮动广告代码
- 涂涂乐的详细实现之四--unity3d调用EmguCV实现图片识别
- headfirst 笔记 第七章
- 多线程顺序执行四种方案
- c语言排序常用问题,【更新中】【排序详解】解决排序问题(以C语言为例)