初识Spring

【Spring】 ——初识Spring 容器是⽤来容纳某种物品的(基本)装置。——来⾃:百度百科我们想想,之前我们接触的容器有哪些?List/Map -> 数据存储容器Tomcat -> Web 容器既然 Spring 是⼀个 IoC容器,重点应该是在“容器”⼆字上,那么它就具备两个最基础的功能:将对象存⼊到容器;从容器中取出对象所以Spring 是⼀个 IoC 容器,说的是对象的创建和销毁的权利都交给 Spring 来管理了,它本身⼜具备了存储对象和获取对象的能⼒。 阅读详情

刚开始接触Spring,找来一些教程,相比于文字还是比较喜欢视频,虽然大多数视频讲的都太烦杂无味,还是比较喜欢某客的系列。
并不善于总结,只是记录下来基本的流程。
这里写图片描述
这里用的是setter注入
1.首先编写IHelloMessage接口:里面定义一个方法供子类重写,方法实现返回不同国家语言的字符串。

package com.sun.spring;

public interface IHelloMwssage {
    public String sayHello();
}

2.接口的两个实现类

package com.sun.spring;

public class HelloChina implements IHelloMwssage {

    @Override
    public String sayHello() {

        return "你好,中国!";
    }

}
package com.sun.spring;

public class HelloWorld implements IHelloMwssage {

    @Override
    public String sayHello() {

        return "Hello World!";
    }

}

3.创建Person类,类中定义接口,并实现get/set方法,并定义say方法

package com.sun.spring;

public class Person {
    private IHelloMwssage ihellomessage;

    public IHelloMwssage getIhellomessage() {
        return ihellomessage;
    }

    public void setIhellomessage(IHelloMwssage ihellomessage) {
        this.ihellomessage = ihellomessage;
    }
    public String say(){
        return this.ihellomessage.sayHello();
    }
}

4.Main类用来测试

package com.sun.spring;

import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Main {
    public static void main(String[] args) {
        BeanFactory factory = new ClassPathXmlApplicationContext(
                "hello.xml");
        Person person=(Person) factory.getBean("person");
        String s=person.say();
        System.out.println(s);

    }
}

5.配置文件,也是spring核心部分

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
 "http://www.springframework.org/dtd/spring-beans.dtd">
 <beans>
    <bean id="helloWorld" class="com.sun.spring.HelloWorld"></bean>
    <bean id="helloChina" class="com.sun.spring.HelloChina"></bean>
    <bean id="person" class="com.sun.spring.Person">
        <property name="ihellomessage" ref="helloWorld"></property>
    </bean>
 </beans>

6.输出:
上面看到我们配置中用的是HelloWorld的对象,所以输出:
Hello World!

7.如果改成构造器注入
Person1类

package com.sun.spring;

public class Person1 {
    private IHelloMwssage ihellomessage;

    public Person1(IHelloMwssage ihellomessage) {
        this.ihellomessage = ihellomessage;
    }
    public String say(){
        return this.ihellomessage.sayHello();
    }
}

在Main类中相应代码为

Person1 person1=(Person1) factory.getBean("person1");
        String s1=person1.say();
        System.out.println(s1);

相应配置为

<bean id="person1" class="com.sun.spring.Person1">
        <constructor-arg ref="helloChina">
        </constructor-arg>
    </bean>

输出:
你好,中国!

第6章 初识Spring框架 本章主要讲解了Spring框架的基础知识,首先介绍了Spring框架基础知识,包括了Spring概述、Spring框架的优点、Spring框架的体系结构、Spring 5的新特性和Spring下载及目录结构;然后编写了Spring的入门程序;最后讲解了控制反转与依赖注入,包括控制反转的概念、依赖注入的概念、依赖注入的类型和依赖注入的应用。通过本章的学习,读者可以对Spring框架的基础有个大致的了解,为框架开发打下坚实基础。 ... 阅读详情

相关推荐

【ROS学习笔记】13.ROS中的坐标管理系统

文章目录1 机器人中的坐标变换2 TF功能包TF坐标变换如何实现?TF的一个小案例3 小程序:小海龟跟随实验打开小程序查看当前的TF树坐标相对位置关系可视化1(tf_echo)坐标相对位置关系可视化2(rviz) 本节学习ROS中的坐标管理系统。 (部分图摘自:b站【古月居】古月·ROS入门21讲) 1 机器人中的坐标变换 机器人运动学的核心,描述任意两个坐标系之中任意两个向量之间的变换,可以用一个4×4的变换矩阵(Transformation Matrices)来描述它的平移和旋转变化。 变换矩阵中有包括

takedachia的博客 4338

初识spring

Spring框架已发展成完整的开发生态圈,包含多个项目实现特定功能。主要学习内容包括核心的Spring Framework、快速开发的Spring Boot及微服务架构Spring Cloud。Spring家族发展历程丰富,现已成为Java领域主流技术栈。

jack_yang__的博客 219

无痛安装及初始配置 PHP 8.0.3 + Apache 2.4 + MySQL 8.0

PHP 8.0.3 + Apache 2.4 + MySQL 8.0MySQL 8.0.23 安装下载安装配置环境变量初始化MySQLPHP8.0.3 安装下载安装配置环境变量Apache 2.4 安装下载安装启动 MySQL 8.0.23 安装 下载 到官方网站下载:https://dev.mysql.com/downloads/mysql/ 目前的最新版本是MySQL 8.0.23 在Windows上有两种安装方式,一个是zip压缩文件解压然后配置,另一个是图像化界面安装。 这里选择第一种方法安装:

Kuang Da's Blog 6208

初识Spring———[SSM框架教程]

IoC、DI基础案例及分析

qq_63947426的博客 128

告别密码!用VScode+SSH一键连接树莓派,再也不用每次输密码了

本文详细介绍了如何通过VScode和SSH密钥实现树莓派的免密连接,告别繁琐的密码输入。从开发环境准备、SSH密钥生成与配置,到VScode远程连接优化和常见问题排查,提供了一套完整的解决方案,帮助开发者提升工作效率。

weixin_28831341的博客 173

华为OD机试真题 新系统 2026-05-13 Python&JS语言 实现【查找能被整除的最大整数】

给定一个字符串和一个正整数,字符串由大小写字母和数字组成,要求从字符串中找出最大且能被给定正整数整除的数。

MISAYAONE的博客 227

Spring之初识

初识Spring Spring是java平台一个轻量级的解决方案,也就是说它是非侵入式的,即你的业务逻辑本身对spring框架没有依赖。但是spring也可以作为一站式的企业级解决方案,从最核心的依赖注入,到事务管理、AOP、ORM、web、消息、远程调用等都具有相应的模块,它被设计为模块化的,我们只需要选用我们需要的那些模块即可。 一、  依赖注入和控制反转 Spring的核心是依赖注入(

我的山水 1956

vue接入海康4G版摄像头通过萤石云平台推送视频流教程

vue-video-player接入海康视频,videojs-contrib-hls,vue播放视频

renkai721的专栏 7281

【Spring】初识Spring

初识Spring——简单易懂

潘潘的博客 390

linux驱动由浅入深系列:基于高通平台分析触摸屏(TP)、虚拟按键驱动

触摸屏的触摸板(touch panel简称TP)驱动的基本架构和普通按键驱动基本一致,可以参考文章:linux驱动由浅入深系列:输入子系统之二(编写一个gpio_key驱动)。只是其功能稍稍复杂些,配置也多些,下面一起来看一下。 TP包括 触摸屏、虚拟按键、虚拟按键背光灯 TP驱动芯片厂商主要有:Goodix(汇顶),FocalTech(敦泰科技),cypress(赛普拉斯),synapt

Radia的专栏 4769

大数据领域数据产品的团队激励与绩效管理

在大数据领域,数据产品的成功离不开高效协作的团队。团队激励与绩效管理的目的在于激发团队成员的工作热情和创造力,提高工作效率和质量,确保数据产品能够按时、高质量地交付。本文章的范围涵盖了大数据领域数据产品团队激励与绩效管理的各个方面,包括激励机制的设计、绩效评估的方法、团队沟通与协作等。本文将按照以下结构进行阐述:首先介绍核心概念与联系,明确相关概念的定义和相互关系;接着讲解核心算法原理和具体操作步骤,为团队激励与绩效管理提供理论支持和实践指导;然后分析数学模型和公式,帮助读者深入理解绩效评估的原理;

Java大师兄的博客 1018

【Spring】初识Spring MVC

Spring MVC是Java中十分常用的一个设计思想。其中的注解有多般变化,PostMapping是其中十分重要的注解。此外类注解和方法注解都有自己的标识。传递参数的方式有多种,需要仔细思考。源码Spring MVC。

Starc_的博客 1131

无法将“choco”项识别为 cmdlet、函数、脚本文件或可运行程序的名称的解决方案

本文主要介绍了无法将“choco”项识别为 cmdlet、函数、脚本文件或可运行程序的名称的解决方案,希望能对使用wIndows的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 12万+

Spring——初识Spring

Spring——初识Spring 1.Spring简介 在我们之前使用的Servlet,JDBC,JSP进行JavaWeb开发的时候,有个著名的词叫做:“单体地狱”。代码量是相当的大,直到框架的出现才简化了Web开发。比如说我们之前学过的MyBatis,就是替代了JDBC的框架,让我们不去写复杂重复的JDBC代码。 后来又出现了开源框架:Spring(寓意着软件行业的春天),Spring 是一个轻...

qq_43411550的博客 329

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

初识Spring框架

目录1、为什么要学框架2、Servlet vs SpringBoot2.1 servlet框架步骤2.2 SpringBoot框架的步骤2.3 二者比较3、Spring核心与设计思想3.1 初识Spring3.2 什么是IoC?3.3什么是DI4、Spring创建与使用4.1 创建 Spring项目4.2 存储 Bean 对象4.3 获取并使用Bean对象4.3 总结学习框架相当于从”小作坊“到”工厂“的升级,小作坊什么都需要自己来完成,而框架就在一定意义上实现了自动化,框架更加易用、简单且高效。①首先创建

weixin_46972127的博客 600

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Spring初识

一、什么是Spring框架? Spring框架是由于开发的复杂性而创建的,使用基本的JavaBean代替EJB; Spring框架还是一个轻量级的控制反转和面向切面的容器框架; Spring框架使用于包括服务器开发等的任何Java应用,使得Java程序更加便捷、高效、安全 二、什么是Spring容器或者叫SpringBean容器? Bean就是 Java对象,容器就是对Java对象的整个生命周期进行管理(包括创建、装配、销毁). 三、Spring的模块化组成结构 1. Core Container(核心容

nefss_的博客 788

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

spring初识

spring初识 初窥spring 一个简单的demo,发现spring中初始化最重要的方法 refresh(),先理解这个方法每一步是要干啥,然后再去看里面的逻辑 //这里我们并没有采用xml的配置,假如是xml的配置使用ClassPathXmlAoplicationContext读取信息 @ComponentScan(basePackages = "com.gh.**") public class CompentScan { } public class Test { public stat

weixin_42508041的博客 207
上一篇: 利用JDK开发WebService简单实现
下一篇: 项目前端涉及点梳理
詹詹自喜KING
博客等级 码龄11年 40粉丝 64原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值