spring

Spring 源码之 SpringProperties 类简介 SpringProperties 是 Spring core 包中一个用于读取并加载Spring库级别属性的工具类,其读取的文件为classpath下的spring.properties文件。内部通过一个Properties对象维护读取到的属性,并对外暴露一些设置属性值或者获取属性值的的静态方法。在根据key获取属性值时,如果localProperties不存在,则从VM系统属性中获取。 阅读详情

Somebody is alive, but he’s dead;

spring特性:1

Ioc控制反转:
	Inversion of control
	通俗的讲是将对象的创建销毁这个工作交给机器去做。
	这样做的好处就是省力,你自己就不用为了使用某个对象中的方法而到处创建对象了。控制反转是一种思想[^2]

maven:pom.xml中 command+N快捷添加以来spring-content,option+回车快捷补充变量
然后去资源目录下创建spring config-》applicationContent

// pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.example</groupId>
    <artifactId>spring01</artifactId>
    <version>1.0-SNAPSHOT</version>
    <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.3.16</version>
        </dependency>
    </dependencies>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>
</project>
// applicationContent.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">

    <bean id="user" class="org.User" ></bean>
</beans>
// 这里就展示了ioc控制反转,User类就随便写个类测试一下,可以看到这里连我的user类包都没导就可以直接用了。
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class main {
    public static void main(String[] args) {
        ClassPathXmlApplicationContext cpx = new ClassPathXmlApplicationContext("applicationContent.xml");
        Object user = cpx.getBean("user");

        System.out.println(user.toString());
    }
}

属性注入,方法注入
属性注入就是在刚才的applicationcontent基础上添加上属性,方法注入主要注意的是他的应用场景:在某些无法获取对象只能获取其方法的场景。(同时还有复杂注入这个后面用到再补充)

// 方法注入
    <bean class="org.User" factory-method="getInstance" id="xxx"></bean>

xml注入和java配置(注释)
以上学的都是将bean注入到spring容器里,注释最好用于固定类型注入,因为如果后面要改需要改源代码,进而需要重新编译。而xml就不需要重新编译,就适用于灵活一点的注入,会随时发生更改的。

// sayhi类
package org;

public class sayhi {
    public String sayhi(String name){
        return "hi"+name;
    }
}


// 相当于applicationcontent.xml. @configuration就相当于告诉他你是配置文件
package org;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class config {
    @Bean
    sayhi sayhi(){
        return new sayhi();
    }
}


// 测试
        AnnotationConfigApplicationContext act = new AnnotationConfigApplicationContext(config.class);
        sayhi sayhi = act.getBean("sayhi", sayhi.class);
        String d = sayhi.sayhi("d");
        System.out.println(d);

I‘d rather Succeed or die;


  1. spring代表Spring框架和Spring家族。 ↩︎

Spring MVC 与 Spring Boot 的差异到底在哪? 本文深入对比了传统SpringMVC与SpringBoot的核心差异。作者结合开发经验,从配置方式(XML到自动配置)、依赖管理(手动引入到Starter)、部署模式(外置Tomcat到内嵌容器)、外部化配置等方面进行剖析,指出SpringBoot通过自动配置砍掉了80%的模板代码,但同时也可能带来配置冲突等问题。文章强调SpringBoot并非替代SpringMVC,而是其"脚手架",底层仍依赖DispatcherServlet等核心组件。 阅读详情

相关推荐

Spring 容器

/ 标记该类为Spring Bean,容器会自动扫描并创建实例@Component// 标记该类为Spring配置类// 指定扫描的包,容器会自动识别包下的@Component/@Service/@Repository/@Controller等注解的类Spring 容器是管理 Bean 的核心组件,负责 Bean 的创建、依赖注入和全生命周期管理,核心价值是解耦;实际开发中优先使用(而非基础的),主流方式是基于注解配置类(

weixin_53050448的博客 650

Spring

Spring1.Spring是什么?有什么好处?2.IOC是什么?有什么好处?具体过程?3.DI是什么?4.IOC和DI的关系?5.bean标签的属性有哪些?6.IOC创建对象有哪几种方式?7.Spring是如何实现IOC的?也就是如何创建对象的? 1.Spring是什么?有什么好处? 概念: SPring是一个支持控制反转(IOC)和面向切面编程(AOP)的容器框架。 好处: 两降低>&...

weixin_43766298的博客 1万+

SolidWorks草图绘制实战:如何用图片参考快速搞定智能小车底板设计

本文详细介绍了在SolidWorks中利用图片参考进行草图绘制的实战方法,以智能小车底板设计为例,帮助设计师快速将概念转化为精准三维模型。通过插入、对齐参考图片并高效描图,结合参数化约束与尺寸驱动,大幅提升设计效率和准确性,尤其适合新手入门与老手优化工作流。

rust6ferris的博客 218

搭建Spring开发环境并编写第一个Spring小程序

本文详细介绍了两种搭建Spring开发环境的方法:自动配置方式和手动配置方式。自动配置方式通过MyEclipse工具实现,适合初学者;手动配置方式需要下载Spring软件包并手动添加JAR文件,灵活性更高。文章通过创建动物接口实现和人接口实现两个示例项目,分别演示了两种配置方式的具体步骤,包括创建项目、添加Spring支持、配置JAR包位置、编写测试代码等。最后指出自动配置简单快捷,手动配置则更灵活,建议初学者使用类路径方式查找配置文件。两种方法各有所长,开发者可根据实际需求选择合适的配置方式。

ywl470812087的博客 11万+

Vue2项目实战:海康威视WEB无插件开发包V3.4从下载到多画面预览(附完整代码)

本文详细介绍了在Vue2项目中集成海康威视WEB无插件开发包V3.4实现多画面监控预览的完整实战方案。内容涵盖从开发包下载、Nginx代理配置、核心组件封装到多画面并发加载与性能优化的全流程,并提供了完整的代码示例,帮助开发者高效解决浏览器无插件播放与多路视频流加载的难题。

c7d8e9的博客 320

CSAPP performance lab

CSAPP 深入理解计算机系统的performance Lab

weixin_46091531的博客 1250

最新的Spring官网如何下载Spring框架

最新的Spring官网如何下载Spring框架。特此写一篇简单的教程,供大家分享。 1. 首先打开Spring官网 https://spring.io/ 2. 点击页头 PROGECTS 选项 3. 打开 SPRING FRAMEWORK 一项 4. 点击页面中的GitHub 图标 5. 在文章中部,有一个Downloading A...

脑壳疼 5118

保姆级教程:在Ubuntu 20.04上搞定PX4飞控与T265的视觉定位(附避坑指南)

本文提供在Ubuntu 20.04上配置PX4飞控与T265视觉定位系统的详细教程,涵盖驱动安装、ROS与MAVROS桥接、PX4参数调优及故障排查。通过实测验证的步骤和避坑指南,帮助开发者实现厘米级精度的视觉定位,特别适合室内无人机应用。

weixin_29038155的博客 248

Spring | Spring、Spring MVC 和 Spring Boot 的分工与协作

Spring、Spring MVC与Spring Boot技术栈解析 本文系统梳理了Java企业级开发中三大核心框架的关系与功能定位: Spring框架 作为生态基石,提供IoC容器(依赖注入)和AOP两大核心能力,通过模块化设计支持数据访问、事务管理等企业级功能。 Spring MVC 作为Spring的Web模块,采用MVC架构处理HTTP请求,核心组件包括DispatcherServlet和注解驱动的控制器,支持RESTful开发和前后端分离架构。 Spring Boot 通过自动配置、起步依赖和约定

鳄鱼杆的博客 402

脑机接口技术介绍、应用与挑战

脑机接口的概念最先于1973年提出,伴随着计算机性能的飞速提高,在美国“人类脑计划”的资金支持下,脑机接口的研究进入了高速发展期。去年年末,我国科技部会议透露:中国将拿出540亿元,推进中国脑计划的发展。同时,这一举措也推动了我国脑机接口的研究发展。 脑机接口属于多学科交叉科技,涉及神经科学、计算机科学、认知科学、控制与信息科学技术、医学等多个学科。技术实现方式是通过信号采集设备从大脑皮层采集脑电信号,经过放大、滤波、A/D转换等处理,转换为可以被计算机识别的信号,然后对信号进行预处理,提取特征信号,再利

weixin_44603934的博客 9132

嵌入式状态机编程-QP状态机框架与常见状态机方法

状态机基本术语 现态:是指当前所处的状态。 条件:又称为“事件”,当一个条件被满足,将会触发一个动作,或者执行一次状态的迁移。 动作:条件满足后执行的动作。动作执行完毕后,可以迁移到新的状态,也可以仍旧保持原状态。动作不是必需的,当条件满足后,也可以不执行任何动作,直接迁移到新状态。 次态:条件满足后要迁往的新状态。“次态”是相对于“现态”而言的,“次态”一旦被激活,就转变成新的“现态”了。 传统有限状态机Fsm实现方法 如图,是一个定时计数器,计数器存在两种状态,一种为设置状态,一种为计时状态 设

qq_36969440的博客 9663

Spring Boot、Spring Cloud实现原理

Spring、Spring Boot、Spring Cloud实现原理

tszc95的博客 551

深入浅出SCSI子系统(一)Linux 内核中的 SCSI 架构

scsi系统

sinat_37817094的博客 6488

通过Spring官网下载Spring jar包

这几天刚接触Spring框架,算是在入门阶段吧,对于初学者来说学习Spring框架其中有很多准备工作需要去做的,就比如今天我要讲的如何下载Spring中需要的一些jar包。 【第一步】 打开Spring官网:https://spring.io,点击PROJECTS,如下所示 【第二步】 点击SPRING FRAMEWORK图标 【第三步】 点击SPRING FRAMEWORK图...

1116

出现 Error occurred during initialization of VMagent library failed Agent OnLoad 解决方法

ntelliJ IDEA启动时出现"Agent library failed to load"错误,主要原因是JVM代理加载失败。解决方法包括:1)完全卸载并删除用户目录下的JetBrains配置文件;2)检查并修改idea64.exe.vmoptions文件,确保路径正确并删除不必要的-javaagent参数;

码农研究僧的博客 2481

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Spring8大模块

Spring8大模块

SSSSSSch的博客 979

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

如何下载Spring框架

首先进入Spring官网:https://spring.io/ 点击PROJECTS   找到SPRING FRAMEWORK 并点击  因为是托管在github上的,所以点击github标志  找到Spring Framework Artifacts 找到Spring仓库连接  点击Artifacts选项 然后找到菜单下的 libs-release-local...

liutao2001的博客 2万+

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Spring之SpringBoot

Spring Boot 是基于 Spring 框架的快速开发脚手架,旨在简化 Spring 应用的初始搭建和开发过程。它通过"约定优于配置"的理念,让开发者以最少的配置快速创建生产级别的应用。 1.4 快速开始 二、启动流程源码分析(SpringApplication.run) 2.1 启动入口 2.2 SpringApplication 构造阶段 WebApplicationType 推断逻辑: 2.3 run() 方法主流程 2.4 refreshContext 核心流程 2.5 启动事件

萧瑟余晖的博客 937

Spring Initializr集成:用lsp-java快速创建Spring Boot项目

lsp-java是一款专为Emacs打造的Java语言服务器协议客户端,它与Spring Initializr深度集成,为开发者提供了快速创建和配置Spring Boot项目的完整解决方案。通过lsp-java,你可以在Emacs环境中一站式完成项目初始化、依赖管理和代码开发,大幅提升Spring Boot应用的开发效率。 ## 为什么选择lsp-java创建Spring Boot项目? ls

gitblog_00572的博客 955

Spring5(1) —— Spring简介

0.什么是SPRING Spring : 春天 —>给软件行业带来了春天 2002年,Rod Jahnson首次推出了Spring框架雏形interface21框架(SPRING框架的前身) 2004年3月24日,Spring框架以interface21框架为基础,经过重新设计,发布了1.0正式版 很难想象Rod Johnson的学历 , 他是悉尼大学的博士,然而他的专业不是计算机,而是音乐学 Spring理念 : 使现有技术更加实用 . 本身就是一个大杂烩 , 整合现有的框架技术 1.链接 S

Jzandth的博客 287

「Java开发指南」如何使用Spring注释器实现Spring控制器?(二)

本教程将引导开发者如何使用Spring Annotator实现Spring控制器,欢迎下载最新版IDE体验!

需要界面开发、IDE工具研发中文教程资料的小伙伴,记得私信我~ 1128

Spring & Spring MVC 1. 认识 Spring 和 Spring MVC

一、Spring 我们先来看看什么是 Spring,直接百度百科~~ 从百科中我们可以看到,这个 Spring 是一个开源框架,由 Rod Johnson 发起,主要针对 bean 的生命周期进行管理的轻量级容器。 然后我们再来看目的,解决企业应用开发的复杂性。 OK,接着往下看百科。 再看它的介绍,我们可以看到哈,Spring 是一个开源容器框架,集成各种工具,通过核心的 Bean Factory 实现了底层类的实例化和生命周期的管理。 这也就是说,我们以后好比要用什么类的时候,不需要

胖子胖子大胖子的博客 1354

Spring的进化史

Spring的进化史 1.1SPRING1.X时代 大量编写xml配置文件的时代,spring框架开发应用程序,每个xml中都会使用大量bean标签,来实现SPRING容器的IOC DI功能.不存在注解 @Resource @Autowired @Component @Service @Controller 1.2SPRING2.X时代 java出现了jdk1.5,新特性注解,反射等功能.SPRING随之推出了基于java5的注解功能的新特性,IOC容器的注解,使得扫描注解能够构造bean对象,@Compo

weixin_49307896的博客 473
上一篇: 尝试用java的robot类写一个小程序
下一篇: 记录一下这几天碰到的问题学到的知识
觉醒夏至
博客等级 码龄8年 26粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值