Spring5框架学习笔记
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之后