idea中Spring项目创建以及实现一个小的IoC案例

NVIDIA DGX Spark 开发环境深度配置与优化指南 定期系统维护每月执行一次完整的系统更新监控存储空间使用情况,及时清理临时文件定期检查硬件健康状况开发习惯优化使用tmux或screen管理长时间运行的任务配置自动化测试和代码质量检查建立完善的项目文档体系性能调优周期每月重新评估和调整系统参数根据工作负载特点优化容器配置持续监控和记录性能指标DGX Spark作为一个强大的AI开发平台,其真正的价值需要通过精细的环境配置和优化才能充分发挥。本文提供的配置方案和建议均基于实际生产环境经验,旨在帮助开发者构建稳定、高效、可维护的开发环境。 阅读详情

1、 创建Spring项目

     我们在idea中创建一个Spring项目,具体如下
      勾选Spring以及Web Application

选择项目路径以及项目名(自动下载所需jar包)

创建配置文件

2、 简单的IoC案例

我们在src目录下新建com.test1包,并创建一个IntroduceDemo类,实现一个简单的自我介绍功能,代码如下:

package com.test1;

public class IntrduceDemo {
    //姓名
    private String name;
    //年龄
    private  int  age;

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    /**
     * 自我介绍
     */
    public void intrduce(){
        System.out.println("您好,我叫"+this.name+"今年"+this.age+"岁!");
    }

}

    这是类中有两个私有属性,分别是name和age,还有一个自我介绍的方法intrduce;

    接下来我们配置Bean.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理解为我们的javaBean,其中两个property标签即表示给IntrduceDemo类中的name和age属性赋值!-->
    <bean id="IntrduceDemo" class="com.test1.IntrduceDemo">
       <property name="name" value="李佳奇"/>
       <property name="age" value="2"/>
    </bean>
</beans>
这里我们再新建一个测试类testMain
package com.test1;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class testMain {
    public static void main(String[] args) {
        //创建Spring上下文(加载bean.xml)
        ApplicationContext acx= new ClassPathXmlApplicationContext("bean.xml");
        //获取HelloWorld实例
        IntrduceDemo id=acx.getBean("IntrduceDemo",IntrduceDemo.class);
        //调用方法
        id.intrduce();
    }
}
运行后得到结果:

3、 Bean的其他属性

<bean id="IntrduceDemo" class="com.test1.IntrduceDemo"></bean>
上面的bean标签除了id和class两个属性外,还有其他属性,这里我们介绍scope、init_method和destroy-method

1)scope
bean id=" IntrduceDemo " class=" com.test1.IntrduceDemo " scope="singleton"></bean>
      当我么设置scope属性为“singleton”时,当我们每次通过Spring容器的getBean方法获取IntrduceDemo实例时,得到的都是相同的一个实例,我们这里将示例中的bean.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理解为我们的javaBean,其中两个property标签即表示给IntrduceDemo类中的name和age属性赋值!-->
    <bean id="IntrduceDemo" class="com.test1.IntrduceDemo" scope="singleton">

    </bean>
</beans> 

接着在测试类testMain.java中做如下修改:

package com.test1;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class testMain {
    public static void main(String[] args) {
        //创建Spring上下文(加载bean.xml)
        ApplicationContext acx= new ClassPathXmlApplicationContext("bean.xml");
        //获取HelloWorld实例并赋值
        IntrduceDemo id=acx.getBean("IntrduceDemo",IntrduceDemo.class);
        id.setName("李佳奇");
        id.setAge(2);
        //再获取一个HelloWorld实例,不赋值
        IntrduceDemo idNew=acx.getBean("IntrduceDemo",IntrduceDemo.class);
        //调用方法
        id.intrduce();
        idNew.intrduce();
    }
}
结果如下:

我们并没有为第二个对象idNew赋值,但是它的属性却是有值的,这是因为我们在bean.xml中bean标签中的scope属性设置为singleton,即单例模式,所以在id为其属性赋值后,后面每次新实例化的对象都是相同的。

与singleton对应的是prototype,如果将scope属性设置为prototype,再运行程序,我们将得到如下结果:


2)init-method和destroy-method
    这两个属性分别定义bean初始化和销毁时自动调用的方法,比如我们在IntrduceDemo做如下修改:

package com.test1;

public class IntrduceDemo {
    //姓名
    private String name;
    //年龄
    private  int  age;

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    /**
     * 自我介绍
     */
    public void intrduce(){
        System.out.println("您好,我叫"+this.name+"今年"+this.age+"岁!");
    }

    //bean初始化时调用的方法
public void init(){
    System.out.println("Bean初始化.....");
}
//bean销毁时调用的方法
public void destroy(){
    System.out.println("Bean销毁.....");
   }
}
这时我们在bean.xml配置bean的init-method和destroy-method属性:

<?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理解为我们的javaBean,其中两个property标签即表示给IntrduceDemo类中的name和age属性赋值!-->
    <bean id="IntrduceDemo" class="com.test1.IntrduceDemo" scope="singleton" init-method="init" destroy-method="destroy">

    </bean>
</beans>

这里需要注意,当我们将bean的scope属性设置为singleton或者默认时,当容器销毁时才会调用destroy-method的方法。

这是我们的测试类:

package com.test1;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class testMain {
    public static void main(String[] args) {
        //创建Spring上下文(加载bean.xml)
        ApplicationContext acx= new ClassPathXmlApplicationContext("bean.xml");
        //获取HelloWorld实例并赋值
        IntrduceDemo id=acx.getBean("IntrduceDemo",IntrduceDemo.class);
        id.setName("李佳奇");
        id.setAge(2);
        //调用方法
        id.intrduce();
        //销毁实例对象
        ((ClassPathXmlApplicationContext) acx).close();
    }
}
运行测试类结果如下:









硬件工程师提前批真题及答案解析2 我们需要考虑题目可能的简化假设,即输入电阻 Ri​ 可能是 rbe​ 和 βre​ 的组合,但题目可能简化为: Ri​≈rbe​+βre​。由于锗管的正向导通电压较小(0.2 V~0.3 V),而硅管的正向导通电压较大(0.6 V~0.7 V),因此-4.7 V的电压差不符合硅管的特性,而更接近锗管的特性。在三极管电路中,静态电位是指在无信号输入时,三极管各电极的直流电压。re​ 是动态发射极电阻,通常可以近似为 re​=IE​VT​​,但在题目中已经给出了 re​=300Ω,因此可以直接使用这个值。 阅读详情

相关推荐

【PCIe】CDNS PCIe VIP 杂记 -- Callback

最近在研究Cadence PCIe VIP,怎一个“惨淡”来描述。用的真是一言难尽啊,都是泪。记录一些最近学习的觉得想记录的内容在此,仅供参考讨论学习哈。有不对之处请指出大家一起讨论。

小邦是名小ICer的博客 2716

Spring入门实例(IOC) IDEA版

Spring介绍 spring框架是Java应用最广的框架,根本使命是简化Java的开发。 开发流程 一、创建spring项目 如图操作: 二、命名项目 三、创建项目所需文件夹 在src文件夹下创建文件夹:com.java.ioc 整体结构如图所示: 四、创建模型对象 1.创建UserDao接口 package com.java.ioc; public...

lijiachu的博客 424

Cadence 16.6与17.4双版本共存避坑指南:从安装顺序到环境变量配置

本文是一份详细的Cadence 16.6与17.4双版本共存实战指南。针对硬件工程师和PCB设计者同时处理新旧项目的需求,文章深入剖析了版本冲突根源,并提供了从安装顺序、环境隔离到故障排查的完整解决方案。核心在于通过环境变量精细化管理与脚本控制,实现两个版本的稳定共存与无缝切换,有效解决了文件关联混乱、交互布局失效等常见问题。

html8的博客 976

Spring IoC 简单案例

IoC(Inversion of Control)是一种设计模式,维基百科的说法是这样的:Class A中用到了Class B的对象b,一般情况下,需要在A的代码中显式地用 new 建立 B 的对象。采用依赖注入技术之后,A 的代码只需要定义一个 private 的B对象,不需要直接 new 来获得这个对象,而是通过相关的容器控制程序来将B对象在外部new出来并注入到A类里的引用中。而具体获取的方法、对象被获取时的状态由配置文件(如XML)来指定。

GoldenaArcher的博客 784

MacX DVD Ripper Pro for Mac(DVD解码器) 6.2.120190416免激活版

只需要5分钟即可转档一张DVD光碟!并允许我们在编码之前预览、编辑、裁剪、修剪或扩展视频。第一款也是唯一一款能够支持DVD到MP4,H.264,MOV,FLV,MPEG4等所有格式DVD(新DVD,99-标题DVD,损坏和无法播放的DVD)和翻录DVD / ISO映像的工具,AVI,QT,MP3等。借助350多种预设配置文件MacX DVD Ripper Pro for Mac(DVD解码器) 6...

llhf688的博客 890

【新版系统架构】系统架构设计师教程全篇知识点提炼

信息系统的5个基本功能:输入、存储、处理、输出和控制信息系统的发展:诺兰模型:初始阶段、传播阶段、控制阶段、集成阶段、数据管理阶段、成熟阶段信息系统的分类:传统的信息系统分为:业务(数据)处理系统、管理信息系统(MIS)、决策支持系统(DSS)、专家系统(ES)、办公自动化系统(OAS)等5类信息系统的生命周期:1、产生阶段2、开发阶段(总体规划、系统分析、系统设计、系统实施、系统验收阶段)3、运行阶段4、消亡阶段信息系统建设原则:1、高层管理人员介入原则。

分享技术干货和灵感、推荐新书和好玩的项目、分享Java面试题 1万+

Spring-IOC使用实例详解

实例12:引用外部属性文件 举例应用场景:对于数据库连接池,只需要创建一个连接池即可,从中获取连接对象。因此可以用IOC容器进行配置组件。 >数据库连接池的配置文件(dbconfig.properties) jdbc.username=root jdbc.password=root jdbc.jdbcUrl=jdbc:mysql://localhost:3306/custome...

Step By Step 1132

2026华为OD机试真题 9月27日 新系统 【均衡调度】

华为OD机试真题 新系统 9月27号【均衡调度】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题 【均衡调度】多语言题解。

qq_45776114的博客 1762

springIOC入门案例

IoC 是 Inversion of Control 的简写,译为“控制反转”,它不是一门技术,而是一种设计思想,是一个重要的面向对象编程法则,能够指导我们如何设计出松耦合、更优良的程序。Spring 通过 IoC 容器来管理所有 Java 对象的实例化和初始化,控制对象与对象之间的依赖关系。我们将由 IoC 容器管理的 Java 对象称为 Spring Bean,它与使用关键字 new 创建的 Java 对象没有任何区别。

Eliot的博客 410

优化点列图(RMS半径)的操作数

优化点列图(RMS半径)的操作数

weixin_72050316的博客 2256

springboot+vue项目基础开发(12)vue项目的搭建

在src目录下新建 api,utils,views文件夹。删除componets目录下自动生成的所有文件。在utils文件夹下创建request.js。启动项目,记得是要在管理员下启动。

m0_58498702的博客 152

idea启动spring项目

1、点击 进入: 2、点maven,点击左上角+号: 配置spring项目: (1)在parameters的command file中输入: org.mortbay.jetty:maven-jetty-plugin:6.1.26:run (2) 在runner的vm option中输入 -Djetty.port=8000 即可。 3、关闭弹框,选择刚配置的项目,点击运行按...

w_t_y_y的博客 2万+

华为OD机试2025A卷 - BOSS的收入(Java & Python& JS & C++ & C )

华为OD机试2025A卷 - BOSS的收入(Jav一个XX产品行销总公司,只有一个boss,其有若干一级分销,一级分销又有若干二级分销,每个分销只有唯一的上级分销。规定,每个月,下级分销需要将自己的总收入(自己的+下级上交的)每满100元上交15元给自己的上级。现给出一组分销的关系,和每个分销的收入,请找出boss并计算出这个boss的收入。输入:分销关系和收入:[[分销id 上级分销id 收入], [分销id 上级分销id 收入], [分销id 上级分销id 收入]]输出:[boss的ID, 总收入]

算法大师! 1171

Spring基础(一)--在IDEA中创建一个Spring

简单来说,Spring是一个轻量级控制反转(IOC)和面向切面(AOP)的容器框架。 下载地址:http://repo.spring.io/release/org/springframework/spring/ 例子1:在IDEA中创建第一个Spring项目 首先 2.选中spring 3.项目名字及路径 注:IntelliJ IDEA中的project相当于ecl...

weixin_38266599的博客 332

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

idea新建一个Spring项目(最基础)

首先,笼统介绍一下,什么是spring1、Spring 的主要作用就是为代码“解耦”,降低代码间的耦合度。根据功能的不同,可以将一个系统中的代码分为主业务逻辑与系统级业务逻辑两类。它们各自具有鲜明的特点:主业务代码间逻辑联系紧密,有具体的专业业务应用场景,复用性相对较低;系统级业务相对功能独立,没有具体的专业业务应用场景,主要是为主业务提供系统级服务,如用户、权限管理,日志记录、安全管理、事务管理等,复用性强。2、Spring 根据代码的功能特点,将降低耦合度的方式分为了两类:IOC 与AOP。...

m0_54850467的博客 5922

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

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

Java后端开发 —— 记录一个spring入门案例

最近学完JavaSE部分的重点之后荔枝来入手spring框架,说起spring其实大家耳熟能详的就想起IoC和AOP了,但在这篇文章荔枝主要还是梳理一下一个最简单的spring框架配置流程并把相应需要的环境和踩过的坑给大家分享一下哈哈哈,大家避避雷~

荔枝当大佬的博客 2254

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Spring IOC 入门案例

Spring IOC 入门案例 编程工具IDEA,采用maven导入依赖。 主要目录结构 spring_ioc - src - main - - java - - - com.zhangxin9727.ioc - - - - UserService.java - - - - UserServiceImp.java - - resources - - - applicationContext.x...

ZX9727的博客 374

Java匹马行天下之J2EE框架开发——Spring—>用IDEA开发Spring程序(01)

一、心动不如行动 一、创建项目 *注:在IDEA中我创建的Maven项目,不了解Maven的朋友可以看我之前的博客“我们一起走进Maven——知己知彼”,了解Maven后可以看我之前的博客“Maven的安装与配置”,自行安装,行动起来吧。 二、加载依赖 在pom.xml文件中添加Spring依赖和日志相关依赖 <dependencies> ...

weixin_33965305的博客 370

Spring<一>

5.3.9

m0_72623639的博客 219

一:Spring5框架简述

Spring5学习笔记+测试代码

pccjave的博客 193

【尚硅谷】Spring框架视频教程(spring超详细源码级讲解)1

【尚硅谷】Spring框架视频教程(spring超详细源码级讲解)_哔哩哔哩_bilibili

m0_61214655的博客 675

Spring IOC 基本操作

Spring Ioc 的基本操作,Di注入!

m0_59078057的博客 376

Spring介绍

Spring介绍Spring框架概述Spring入门案例下载SpringSpring入门案例1、创建一个idea工程2、导入spring相关的jar包使用Spring的方式创建对象3、创建一个普通的类,写一个普通的方法4、创建 Spring 配置文件,在配置文件配置创建的对象5、进行测试代码编写     Spring框架概述 Spring 是轻量级的开源的 JavaEE 框架 Spring 可以解决企业应用开发的复杂性 Spring 有两个核心部分:IOC 和 AOP(1)IOC:控制反转,把创建对象过程

只是个人笔记,请见谅 151

Spring学习笔记(一)入门案例

# Spring学习笔记(一)入门案例 ## 一、Spring入门案例 ### 1、实例 1. 通过 Idea 创建 maven 项目 2. 配置 Spring 配置文件 ApplicationContext.xml 3. 编写接口及实现类 - IaccountDao /** * 账户的持久层接口 */ public in...

weixin_43564549的博客 202

Spring框架

Spring简要概念,简单实例

weixin_47125289的博客 116

Spring入门(一):创建Spring项目

创建Spring项目。

申城异乡人 1785
上一篇: Java Api之IO流输入与输出
下一篇: Spring的构造注入、setter注入以及自动装配
madi_Goly
博客等级 码龄16年 11粉丝 14原创
评论 7
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值