Spring的ioc创建对象
实现步骤:
1、创建maven文件,修改pom.xml文件:
- 添加Spring依赖
<!--spring依赖-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.2.5.RELEASE</version>
</dependency>
- junit依赖
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
2. 创建类(接口和实现类)
3. 创建资源文件夹,里面放入Spring的配置文件(xml文件)(beans.xml)
- 标签含义:
<font color = skyblue> spring-beans.xsd </font>约束文件
<font color = skyblue> beans </font> 根标签 里面可以有很多bean标签,spring把Java对象称为bean
- 用bean来创建对象:(声明bean,告诉spring要创建的某个类的对象)
**一个<bean>表示一个对象**
bean id :对象的自定义名称,唯一标识,你调用这个类时需要用的“名字”spring通过名称找到对象
class:类的全限定名称,只能是类,不能是接口(底层是反射机制)
<bean id="doSomeService" class="com.spring_demo.service.Impl.doSomeServiceImpl" />
spring就完成:
doSomeService doSomeService = new doSomeServiceImpl();
spring把创建好的对象放入map中,spring框架中有一个map存放对象
spring.put(id的值,创建的对象);
例如:
spring(doSomeService,new doSomeServiceImpl());
声明类的信息,这些类由Spring创建和管理在beans.xml文件中添加标签
4、使用spring容器创建的对象:
-
指定spring配置文件的路径
-
创建表示spring容器的对象, ApplicationContext
ApplicationContext 表示的就是容器,通过容器就能获取到对象
ClassPathXmlApplicationContext(config);表示从类路径中加载spring的配置文件 -
getBean(配置文件中id的值)拿到
返回的对象是Object类型,需要转换 -
就使用了
spring创建对象的时间:
spring默认在创建spring的容器时,就创建配置文件中的所有对象
默认使用无参构造方法
获取容器中对象的信息:
1) 获取容器中定义的对象的数量
2) 容器中每个定义的对象的名称
String config = "beans.xml";
ApplicationContext ac = new ClassPathXmlApplicationContext(config);
//获取容器中的对象数量
int count = ac.getBeanDefinitionCount();
//输出每个对象的名称
String[] names = ac.getBeanDefinitionNames();
spring创建非自定义的对象(已经存在的类的对象,别人写的):
比如:Date(和自定义的一样)
<bean id="nowTime" class="java.util.Date" />
junit:单元测试
一个工具类库,做测试方法使用的
单元:指的是方法,一个类中有很多方法,一个方法称为单元
使用单元测试:
1、需要加入junit依赖
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
2、创建测试类 在src/test/java目录中创建类 3、创建测试方法 1)public方法 2)没有返回值 3)方法名自定义,推荐test+测试方法名 4)方法没有参数 5)方法上面加入@Test,这样的方法是可以单独执行的
在spring的对象文件中,给Java对象的属性赋值: di依赖注入,表示创建对象,给属性赋值
如果你是刚开始学习java,或者刚开始从事java行业,有很多的问题都可以关注微信公众号: java学长 ,一个致力于打造免费指导学习java高薪就业的公益平台!点赞、关注 哦,不定期分享程序员的骚操作和强势浪漫!
![](https://i-blog.csdnimg.cn/blog_migrate/2a06e920ddfceb5166dbd0905a22c125.png)