Spring5框架学习笔记
2024-10-19 12:57:21
Spring5学习笔记
介绍:
1.引入相应jar包
导入:
ps:网上下载教程: https://repo.spring.io/release/org/springframework/spring/
入门案例:
1.打开idea,创建普通Java工程
2.导入jar包
3.创建普通类
public class User {
public void say(){
System.out.println("xddfjofjofij");
}
}
4.创建spring配置文件(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">
<!--配置User对象创建-->
<bean id="user" class="User"></bean>
</beans>
5.测试代码编写
public class TestSpring {
@Test
public void testAdd(){
ApplicationContext context = new ClassPathXmlApplicationContext("Bean1.xml");
User user = context.getBean("user",User.class);
System.out.println(user);
user.say();
}
}
注意:因为xml文件配置时不小心多出来一个空格,导致报错
分析原因得知:
修改完成成功运行:
IOC容器:
概念:
底层原理:
IOC(接口):
ClassPathXmlApplicationContext:src目录下的文件
FileSystemXmlApplicationContext:具体盘符下的文件地址
IOC操作bean管理:
概念:
IOC操作bean管理(基于xml方式)
xml注入其他类型属性:
2.注入属性-外部bean
a.原始方式: 创建UserDao对象,调用相应方法。
b.
xml注入集合属性:
测试类:
@Test
public void testCollection1() {
ApplicationContext context =
new ClassPathXmlApplicationContext("bean1.xml");
Stu stu = context.getBean("stu", Stu.class);
stu.test();
}
stu类中的测试方法:
public void test() {
System.out.println(Arrays.toString(courses));//注意这里数组的调用方法
System.out.println(list);
System.out.println(maps);
System.out.println(sets);
System.out.println(courseList);
}
测试方法:
@Test
public void testCollection2() {
ApplicationContext context =
new ClassPathXmlApplicationContext("bean2.xml");
Book book1 = context.getBean("book", Book.class);
Book book2 = context.getBean("book", Book.class);
book.test();
}
book类中的test方法:
public void test() {
System.out.println(list);
}
}
bean作用域:
1.在spring里面。设置创建bean实例是单实例还是多实例
bean生命周期:
emp类:
public class Emp {
private Dept dept;
public void setDept(Dept dept) {
this.dept = dept;
}
@Override
public String toString() {
return "Emp{" +
"dept=" + dept +
'}';
}
public void test() {
System.out.println(dept);
}
}
测试类:
@Test
public void test4() {
ApplicationContext context =
new ClassPathXmlApplicationContext("bean5.xml");
Emp emp = context.getBean("emp", Emp.class);
System.out.println(emp);
}
import org.springframework.stereotype.Repository;
@Repository()
public class UserDaoImpl implements UserDao {
@Override
public void add() {
System.out.println("dao add.....");
}
}
@Repository(value = "userDaoImpl1")
public class UserDaoImpl implements UserDao {
@Override
public void add() {
System.out.println("dao add.....");
}
}
以下原理需要加强!
webflux暂时未学,放在springmvc、springboot之后
最新文章
- 实现断点续传的FTP下载类(支持多线程多任务下载)
- 在Android上用AChartEngine轻松绘制图表
- 2-SAT模板
- (转载)利用burp suite截断上传拿shell
- SQL2012之FileTable与C#的联合应用
- 用C++如何实现开放API接口服务器
- leetcode--003 LRU cache
- Loadrunner 在controller中运行socket脚本时报错:Abnormal termination, caused by mdrv process termination 的原因和解决方法
- 虚拟机console基础环境配置——sshd安全登陆
- 调试dump文件
- 固定footer在底部
- JVM 字节码(四)静态方法、构造代码、this 以及 synchronized 关键字
- 【Unity】ShareSDK、SMSSDK的基本使用与常见问题
- [GAN] Generative networks
- [转]Android开源测试框架学习
- poj_1204 Trie图
- .NET平台机器学习资源汇总,有你想要的么?(转)
- (顺序表应用5.1.1)POJ 3750 小孩报数问题(基本的约瑟夫环问题:给出人数n,出发位置w,间隔数s)
- 数据结构与算法JavaScript描述——栈
- 【转】odoo装饰器:model
热门文章
- Spring Cloud Alibaba - Feign
- miniFTP项目实战四
- SQL 练习21
- APIO 2007 动物园 题解
- 题解 数列 及exgcd总结
- C# 正则表达式的重点知识 1
- C# KeyValuePair<;TKey,TValue>; 与 Dictionary<;TKey,TValue>; 区别
- WPF学习笔记一 依赖属性及其数据绑定
- mybatis学习日志二
- VMware中安装CentOS Linux release 7.4.1708 (Core)