Spring的核心基础:感受一下对象工厂

"欢迎来到Spring!"的小项目

(1)写一个HelloSpring的类,采用setter方法注入userName,写一个简单的show方法。

java 复制代码
package com.itzhoutao;
public class  HelloSpring{
	private String userName;

	public void setUserName(String userName)
	{
		this.userName = userName;
	}

	public void show(){
		System.out.println(userName + ":欢迎来到Spring!");
	}

}

(2)利用Spring容器,如ApplicationContext,初始化容器,加载xml配置,获取(getBean)实例。写了一个TestHelloSpring类。

java 复制代码
package com.itzhoutao;

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

public class TestHelloSpring {
    public static void main(String[] args) {
        //初始化spring容器,加载applicationContext.xml配置
        ApplicationContext applicationContext = new
                ClassPathXmlApplicationContext("applicationContext.xml");
        //通过容器获取配置中helloSpring的实例
        HelloSpring helloSpring =
                (HelloSpring) applicationContext.getBean("helloSpring");
        helloSpring.show();//调用方法
    }

}

3.applicatiomContext.xml的信息:

java 复制代码
<?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">
    <!-- 将指定类配置给Spring,让Spring创建HelloSpring对象的实例 -->
    <bean id="helloSpring" class="com.itzhoutao.HelloSpring">
        <!--为userName属性赋值-->
        <property name="userName" value="土豆哥哥"></property>
    </bean>
</beans>

手动管理j的ar包和这个项目的基本结构:

jar包在springlibs目录下,相关程序代码写在了work目录下。

手动编译运行Spring项目的方法:

  1. 将Spring所需的所有jar包(含commons-logging的jar包)文件放到C:\Program Files\Java\jre1.8.0_181\lib\ext的目录下,并另外存放一份放到源码所在位置的springlibs目录下。

  2. 将所有的.java源码文件放到某个工作文件夹比如work中(注意只要.java的文件,不要包名对应的文件夹),将所需的xml配置文件也拷贝到本文件夹中。

  3. 进入work工作文件夹,然后在命令行下运行编译命令:javac -d . *.java -encoding utf8 -classpath ..\springlibs\* 即可成功编译。

  4. 运行:在work工作文件夹中,运行命令:java 主类的包名.类名。

相关推荐
感性的程序员小王12 分钟前
拒绝硬编码!利用 Java SPI 打造一个可插拔的代码解析器
java·后端
爱跑步的程序员~19 分钟前
SpringBoot集成SpringAI与Ollama本地大模型
java·后端·spring·ai·llama·springai
Grandpa_Rick25 分钟前
Join Module: Iteration #6 Nested Join
java
Y‍waiX‍‍‮‪‎⁠‌‫‎‌‫‬30 分钟前
CentOS7安装多版本jdk并切换jdk版本
java·jdk·centos
疯狂敲代码的老刘33 分钟前
MyBatis Generator GUI 下载安装教程 可视化MyBatis代码生成
java·mybatis·mybatis-ui
追随者永远是胜利者1 小时前
(LeetCode-Hot100)23. 合并 K 个升序链表
java·算法·leetcode·链表·go
Moshow郑锴1 小时前
Java SpringBoot 疑难 Bug 排查思路解析:从“语法正确”到“行为相符”
java·spring boot·bug
APIshop1 小时前
淘宝商品评论接口实战解析:从抓包到数据抓取全链路技术指南
java·python
百锦再2 小时前
线程安全的单例模式全方位解读:从原理到最佳实践
java·javascript·安全·spring·单例模式·kafka·tomcat
百锦再2 小时前
Java synchronized关键字详解:从入门到原理(两课时)
java·开发语言·struts·spring·kafka·tomcat·maven