spring的基本使用bean的实例化方式与属性注入两种方法
![](https://ask.qcloudimg.com/http-save/yehe-5927264/0m0g54vrhj.png?imageView2/2/w/1620)
IOC
![](https://ask.qcloudimg.com/http-save/yehe-5927264/b2zhlkiy64.png?imageView2/2/w/1620)
![](https://ask.qcloudimg.com/http-save/yehe-5927264/9x868n6rjq.png?imageView2/2/w/1620)
![](https://ask.qcloudimg.com/http-save/yehe-5927264/yx8ir5gn6y.png?imageView2/2/w/1620)
![](https://ask.qcloudimg.com/http-save/yehe-5927264/xdjqt7tvyv.png?imageView2/2/w/1620)
![](https://ask.qcloudimg.com/http-save/yehe-5927264/c4g23akim9.png?imageView2/2/w/1620)
配置文件:
<?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">
<!-- ioc入门 -->
<bean id="userService" class="com.shi.service.UserService"></bean>
</beans>
测试代码:
package com.shi.service;
import org.junit.Before;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class UserServiceTest {
@Before
public void setUp() throws Exception {
}
@Test
public void test() {
//1 加载spring配置文件,根据创建对象
ApplicationContext applicationContext=
new ClassPathXmlApplicationContext("classpath:spring/applicationContext-service.xml");
//2 获取容器中创建的对象
UserService userService=(UserService) applicationContext.getBean("userService");
UserService userService2=(UserService) applicationContext.getBean("userService");
System.out.println(userService);
System.out.println(userService2);//俩次获取的是同一个对象
userService.add();
}
}
配置文件没有提示的问题:
![](https://ask.qcloudimg.com/http-save/yehe-5927264/91dz98san0.png?imageView2/2/w/1620)
![](https://ask.qcloudimg.com/http-save/yehe-5927264/tevpa7k21k.png?imageView2/2/w/1620)
创建对象三种方法
![](https://ask.qcloudimg.com/http-save/yehe-5927264/gq4revyca9.png?imageView2/2/w/1620)
![](https://ask.qcloudimg.com/http-save/yehe-5927264/i0osndazyr.png?imageView2/2/w/1620)
![](https://ask.qcloudimg.com/http-save/yehe-5927264/zvopiloy1z.png?imageView2/2/w/1620)
静态工厂类
package com.shi.bean;
/*
* 使用静态类工厂创建bean2对象
*/
public class Bean2Factory {
public static Bean2 getBean2(){
return new Bean2();
}
}
applicationContext.xml文件中的配置:
<!-- 使用静态工厂创建对象 -->
<bean id="ben2Factory" class="com.shi.bean.Bean2Factory"
factory-method="getBean2"></bean>
![](https://ask.qcloudimg.com/http-save/yehe-5927264/elxr05r0rl.png?imageView2/2/w/1620)
实例工厂类
package com.shi.bean;
/*
* 使用实例工厂类创建bean3对象
*/
public class Bean3Factory {
public Bean3 getBean3(){
return new Bean3();
}
}
applicationContext.xml文件中的配置:
<!-- 使用实例工厂创建对象 -->
<!-- 先创建工厂对象 -->
<bean id="bean3Factory" class="com.shi.bean.Bean3Factory"></bean>
<bean id="bean3" factory-bean="bean3Factory" factory-method="getBean3"></bean>
bean 标签的常用属性
![](https://ask.qcloudimg.com/http-save/yehe-5927264/c2so5xy3qb.png?imageView2/2/w/1620)
![](https://ask.qcloudimg.com/http-save/yehe-5927264/q0rvm3ycj3.png?imageView2/2/w/1620)
属性注入
![](https://ask.qcloudimg.com/http-save/yehe-5927264/j5idgq2zjb.png?imageView2/2/w/1620)
![](https://ask.qcloudimg.com/http-save/yehe-5927264/ba8szvx03e.png?imageView2/2/w/1620)
![](https://ask.qcloudimg.com/http-save/yehe-5927264/ht63zhjpxr.png?imageView2/2/w/1620)
![](https://ask.qcloudimg.com/http-save/yehe-5927264/mlstxzkdpi.png?imageView2/2/w/1620)
![](https://ask.qcloudimg.com/http-save/yehe-5927264/how4yaxfl1.png?imageView2/2/w/1620)
![](https://ask.qcloudimg.com/http-save/yehe-5927264/5i8b7seaqm.png?imageView2/2/w/1620)
![](https://ask.qcloudimg.com/http-save/yehe-5927264/nus86teyil.png?imageView2/2/w/1620)
![](https://ask.qcloudimg.com/http-save/yehe-5927264/k9u78qxhhs.png?imageView2/2/w/1620)
![](https://ask.qcloudimg.com/http-save/yehe-5927264/wqzsvegwbv.png?imageView2/2/w/1620)
![](https://ask.qcloudimg.com/http-save/yehe-5927264/boos0dpeod.png?imageView2/2/w/1620)
IOC 和 DI
![](https://ask.qcloudimg.com/http-save/yehe-5927264/4bryw5vdln.png?imageView2/2/w/1620)
spring 整合 web 项目
![](https://ask.qcloudimg.com/http-save/yehe-5927264/2a307vo0aj.png?imageView2/2/w/1620)
![](https://ask.qcloudimg.com/http-save/yehe-5927264/nb4zknlll1.png?imageView2/2/w/1620)
本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。