2、Spring教程之HelloSpring
2024-09-10 11:50:49
导入Jar包
注 : spring 需要导入commons-logging进行日志记录 . 我们利用maven , 他会自动下载对应的依赖项 .
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.1.10.RELEASE</version>
</dependency>
编写代码
1、编写一个Hello实体类
public class Hello {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public void show(){
System.out.println("Hello,"+ name );
}
}
2、编写我们的spring文件 , 这里我们命名为beans.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就是java对象 , 由Spring创建和管理-->
<bean id="hello" class="com.kuang.pojo.Hello">
<property name="name" value="Spring"/>
</bean>
</beans>
3、我们可以去进行测试了 .
@Test
public void test(){
//解析beans.xml文件 , 生成管理相应的Bean对象
ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
//getBean : 参数即为spring配置文件中bean的id .
Hello hello = (Hello) context.getBean("hello");
hello.show();
}
思考
- Hello 对象是谁创建的 ? 【hello 对象是由Spring创建的
- Hello 对象的属性是怎么设置的 ? hello 对象的属性是由Spring容器设置的
这个过程就叫控制反转 :
- 控制 : 谁来控制对象的创建 , 传统应用程序的对象是由程序本身控制创建的 , 使用Spring后 , 对象是由Spring来创建的
- 反转 : 程序本身不创建对象 , 而变成被动的接收对象 .
依赖注入 : 就是利用set方法来进行注入的.
IOC是一种编程思想,由主动的编程变成被动的接收
可以通过newClassPathXmlApplicationContext去浏览一下底层源码 .
最新文章
- 浅析Openflow
- Ubuntu下eclipse开发hadoop应用程序环境配置
- Xcode基本操作
- .NET开源工作流RoadFlow-系统布署及注意事项
- 方法:怎么用ionic命令行调试你的ionic app
- 使用Emmet加速Web前端开发
- [Hadoop] - SSH免密码登录
- CoreGraphics--画线/圆/矩形
- JavaWeb总结(五)—Cookie
- 【特效】单选按钮和复选框的美化(只用css)
- 【机器学习实战】第12章 使用FP-growth算法来高效发现频繁项集
- maven安装和eclipse集成
- Deep Learning.ai学习笔记_第四门课_卷积神经网络
- vue项目引入FastClick组件解决IOS系统下h5页面中的按钮点击延迟,连续点击无反应的问题
- opencv 3.2 vs2015 debug assertion __acrt_first_block == header
- day37 mysql数据库学习
- Spring Security构建Rest服务-1001-spring social开发第三方登录之spring social基本原理
- 理解活在Iphone中的那些App (二)
- windows下制作debian U盘启动
- 词嵌入向量WordEmbedding
热门文章
- Linux 驱动框架---platform驱动框架
- Worktile vs Teambition
- code screenshot beautify plugin &; 代码截图美化插件
- node os env reader
- css var all in one &; html &; root &; :root
- 线上CPU飙升100%问题排查
- 文件描述符(File Descriptor)简介
- Java ThreadPoolExecutor详解
- PacketStream 和 honeygain 推荐一款可以通过分享带宽赚钱的APP
- 搭载华为麒麟9000的Mate X2:秒售罄,一机难求