首页
友链
Search
1
01-快捷命令
132 阅读
2
寒假计划
128 阅读
3
浏览器规范(ES module)和 node.js 规范(Common JS)
120 阅读
4
03-概念解析
119 阅读
5
学期计划(大三下学期)
102 阅读
计划
算法
面试题
运维
Ansible
Linux
数据库
neo4j
共用
web 前端
CSS
JavaScript
Vue
Node.js
英语单词
工程化
JAVA
mysql
收获
面试
mybatis
Spring
基础
spring-mvc
问题
项目
宠物乐园
速查
问题集
git
学习
sql
二阶段
登录
Search
标签搜索
spring
mysql
vue
ansible
CSS
面试
计划
收获
JAVA面试题
spring-mvc
Starrylsi
累计撰写
106
篇文章
累计收到
37
条评论
首页
栏目
计划
算法
面试题
运维
Ansible
Linux
数据库
neo4j
共用
web 前端
CSS
JavaScript
Vue
Node.js
英语单词
工程化
JAVA
mysql
收获
面试
mybatis
Spring
基础
spring-mvc
问题
项目
宠物乐园
速查
问题集
git
学习
sql
二阶段
页面
友链
搜索到
17
篇与
的结果
2024-09-11
02-Spring-Ioc-Bean的依赖关系
原理: 查询依赖关系,先创建顶层依赖然后向下依次创建关键: 使用depends-on属性掌握: 需要掌握 通过三个类A,B,C来理解依赖关系<?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"> <!-- depends-on="b" 如果要创建a对象,就要有b对象 也就是要先创建b再创建a --> <bean id="a" class="com.zhuama.pojo.A" depends-on="b"></bean> <bean id="b" class="com.zhuama.pojo.B"></bean> <bean id="c" class="com.zhuama.pojo.C"></bean> </beans>测试的代码: @Test public void test20() throws Exception { // 默认情况下。在Application.xml中配置的bean对象。默认在创建Spring容器的时候都会创建, // 而且创建的顺序是在配置文件中从上到下的顺序。 ApplicationContext applicationContext = new ClassPathXmlApplicationContext("application2.xml");
2024年09月11日
10 阅读
0 评论
0 点赞
2024-09-10
01-spring-依赖注入,控制反转
目标: 理解Spring IOC,DI注: 面向有开发经验的,小白应该看不懂错误: JUnit版本与语句不对应导致代码正确,运行错误{dotted startColor="#6bfffd" endColor="#1989fa"/}知识点控制反转:IOC——Inversion of Control,指的是将对象的创建权交给Spring去创建。使用Spring之前,对象的创建都是由我们自己在代码中new创建。而使用Spring之后。对象的创建都是由给了Spring框架。依赖注入:DI——Dependency Injection,是指依赖的对象不需要手动调用setXX方法去设置,而是通过配置赋值。简单案例目标: 通过实操person对象理解Spring的自动注入注: 代码是参考,不是全部实现private int id; private String name; private String phone; private int age;<!-- spring ioc配置对象 --> <bean id="p1" class="top.starrylsi.pojo.Person"> <!-- 注入属性 --> <property name="id" value="1001" /> <property name="name" value="azrail" /> <property name="age" value="23" /> <property name="phone" value="18310720233" /> </bean> @Test public void testIOC() { //1.获取spring容器对象 ApplicationContext application = new ClassPathXmlApplicationContext("classpath:spring.xml"); // ApplicationContext application = new FileSystemXmlApplicationContext("config/spring.xml"); //2.spring容器获取对象 Person person = (Person) application.getBean("p1"); Person person1 = (Person) application.getBean("p1"); Person person2 = (Person) application.getBean("p1"); //3.显示内容 System.out.println(person); System.out.println(person1); System.out.println(person2); ((ClassPathXmlApplicationContext)application).close(); } /* * 通过类型寻找bean对象 如果spring容器中含有多个 则报错 * 只有一个则返回 * * */ 1.1 命名空间p操作参数注: 需要通过命名空间中勾选 p,然后生成到xml中,才可以使用<!-- 命名空间p 用于操作参数 --> <bean id="p4" class="top.Starrylsi.pojo.Person" p:id="1004" p:name="test03" p:age="18" p:phone="19111112222" /> 1.2 Person对象包含Car对象(IOC之子对象的赋值)分析: 有两种方法可以实现内部创建bean引用外部bean常见错误:内部的Bean不能被外部使用public class Car { private int id; private String name; public class Person { private int id; private String name; private String phone; private int age; private Car car; <!-- 先创建一个内部对象 --> <bean id="c1" class="com.zhuama.pojo.Car"> <property name="id" value="10001" /> <property name="name" value="麦昆" /> </bean> <!-- 1.创建一个person对象 包含car对象 --> <bean id="p5" class="com.zhuama.pojo.Person"> <property name="id" value="1005" /> <property name="name" value="test04" /> <property name="age" value="23" /> <property name="phone" value="18312345678" /> <!-- 引用其他的bean 注:内部创建的bean不能被其他bean引用--> <property name="car" ref="c1" /> </bean> <!-- 2.创建一个person对象 包含car对象 --> <bean id="p6" class="com.zhuama.pojo.Person"> <property name="id" value="1006" /> <property name="name" value="test05" /> <property name="age" value="23" /> <property name="phone" value="18312345678" /> <!-- 创建内部bean --> <property name="car"> <bean id="innerCar" class="com.zhuama.pojo.Car"> <property name="id" value="10002" /> <property name="name" value="马自达" /> </bean> </property> </bean> 1.3 list map properties(了解即可)private List<Integer> list; private Map<String,Object> map; private Properties prop;<!-- bean中含有集合类型 --> <bean id="p7" class="com.zhuama.pojo.Person"> <property name="id" value="1007" /> <!-- 如果属性是list类型 --> <property name="list"> <list> <value>1</value> <value>2</value> <value>3</value> </list> </property> <!-- 如果属性是map类型 --> <property name="map"> <map> <entry key="key1" value="value1" /> <entry key="key2" value="value2" /> <entry key="key3" value="value3" /> </map> </property> <!-- 如果属性是properties类型 --> <property name="prop"> <props> <prop key="driverClassName">com.mysql.driver.Driver</prop> <prop key="url">jdbc:mysql://localhost:3306/test</prop> <prop key="username">root</prop> <prop key="password">123</prop> </props> </property> </bean> 1.4 IOC之级联属性赋值<bean id="p13" class="com.zhuama.pojo.Person"> <property name="name" value="这是12个Person" /> <!-- 先赋值 --> <property name="car" ref="car1"></property> <!-- 再级联修改属性 --> <property name="car.id" value="2" /> <property name="car.name" value="级联属性赋值" /> </bean> 1.5 下面是不常用,仅了解即可IOC之静态工厂方法创建BeanIOC之工厂实例方法创建BeanIOC之FactoryBean接口方式创建对象IOC之继承Bean配置
2024年09月10日
10 阅读
0 评论
0 点赞
1
...
3
4