Spring
01: Spring简介
02: Spring–Spring组成及拓展
03: Spring–IoC理论推导&IoC本质
04: Spring–第一个Spring程序HelloSpring&修改上节案例
05: Spring–IoC创建对象方式
06: Spring–Spring配置
07: Spring–依赖注入(Dependency Injection)
08: Spring–Bean的作用域
09: Spring–自动装配Bean(使用自动装配xml配置)
10: Spring–使用注解实现自动装配(推荐使用)
11: Spring–注解开发
12: Spring–使用JavaConfig实现配置
13: Spring–静态代理再理解&AOP
14: Spring–AOP(通过 Spring API 实现&自定义类来实现Aop&使用注解实现)
15: Spring–回忆Mybatis
16: Spring–整合Mybatis
17: Spring–Spring声明式事务
1. Spring–Spring配置
1.1 别名
alias 设置别名 , 为bean设置别名
beans.xml
<alias name="userT" alias="t2"/>
Test.java
@org.junit.Test
public void test02() {
ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
UserT user01 = (UserT) context.getBean("t2");
UserT user02 = (UserT) context.getBean("t2");
System.out.println(user01 == user02);
}
1.2 Bean的配置
beans.xml
<!--bean就是java对象,由Spring创建和管理-->
<!--
id 是bean的标识符,要唯一,如果没有配置id,name就是默认标识符
如果配置id,又配置了name,那么name是别名
name可以设置多个别名,可以用逗号,分号,空格隔开
如果不配置id和name,可以根据applicationContext.getBean(.class)获取对象;
class是bean的全限定名=包名+类名
-->
<bean id="hello" name="hello2 h2,h3;h4" class="com.tian.pojo.Hello">
<property name="str" value="Spring"/>
</bean>
Test.java
public static void main(String[] args) {
//解析beans.xml文件 , 生成管理相应的Bean对象
ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
//getBean : 参数即为spring配置文件中bean的id .
Hello hello = (Hello) context.getBean("h4");
System.out.println(hello.toString());
}
1.3 import
这个import,一般用于团队开发使用,他可以将多个配置文件,导入合并为一个 假设,现在项目中有多个人开发,这三个人复制不同的类开发,不同的类需要注册在不同的bean中,我们可以利用import将所有人的beans.xml合并为一个总的!
applicationContext.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
https://www.springframework.org/schema/beans/spring-beans.xsd">
<import resource="beans.xml"/>
<import resource="beans2.xml"/>
<import resource="beans3.xml"/>
</beans>
Test.java
@org.junit.Test
public void test02() {
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
UserT user01 = (UserT) context.getBean("t2");
UserT user02 = (UserT) context.getBean("t2");
System.out.println(user01 == user02);
}
运行结果: