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之后

最新文章

  1. 实现断点续传的FTP下载类(支持多线程多任务下载)
  2. 在Android上用AChartEngine轻松绘制图表
  3. 2-SAT模板
  4. (转载)利用burp suite截断上传拿shell
  5. SQL2012之FileTable与C#的联合应用
  6. 用C++如何实现开放API接口服务器
  7. leetcode--003 LRU cache
  8. Loadrunner 在controller中运行socket脚本时报错:Abnormal termination, caused by mdrv process termination 的原因和解决方法
  9. 虚拟机console基础环境配置——sshd安全登陆
  10. 调试dump文件
  11. 固定footer在底部
  12. JVM 字节码(四)静态方法、构造代码、this 以及 synchronized 关键字
  13. 【Unity】ShareSDK、SMSSDK的基本使用与常见问题
  14. [GAN] Generative networks
  15. [转]Android开源测试框架学习
  16. poj_1204 Trie图
  17. .NET平台机器学习资源汇总,有你想要的么?(转)
  18. (顺序表应用5.1.1)POJ 3750 小孩报数问题(基本的约瑟夫环问题:给出人数n,出发位置w,间隔数s)
  19. 数据结构与算法JavaScript描述——栈
  20. 【转】odoo装饰器:model

热门文章

  1. Spring Cloud Alibaba - Feign
  2. miniFTP项目实战四
  3. SQL 练习21
  4. APIO 2007 动物园 题解
  5. 题解 数列 及exgcd总结
  6. C# 正则表达式的重点知识 1
  7. C# KeyValuePair&lt;TKey,TValue&gt; 与 Dictionary&lt;TKey,TValue&gt; 区别
  8. WPF学习笔记一 依赖属性及其数据绑定
  9. mybatis学习日志二
  10. VMware中安装CentOS Linux release 7.4.1708 (Core)