package com.example.sringbootkaishi; import com.example.sringbootkaishi.demos.web.cheshileiservs; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.context.ApplicationContext; /* 默认情况下,Spring项目启动时, 会把bean都创建好放在I0C容器中, 如果想要主动获取这些bean, 可以通过如下方式:*/ //手动获取springbean对象 @SpringBootTest class SringbootkaishiApplicationTests { //1.获取I0c容器对象 @Autowired ApplicationContext applicationContext; @Test void contextLoads() { // 根据bean的名称获取 // 记得首字母要小写 // cheshileiservs需要转换的类型可以是自定义的 /* cheshileiservs uz = (cheshileiservs) applicationContext.getBean("cheshileiservs"); uz.daying();*/ //根据bean的类型获取 /* cheshileiservs bean2 = applicationContext.getBean(cheshileiservs.class); bean2.daying();*/ //根据bean的名称 及类型获取 记得首字母要小写 cheshileiservs bean3 = applicationContext.getBean("cheshileiservs",cheshileiservs.class); bean3.daying(); } }
@Configuration //表示这是一个配置类 public class jiexigongju { /*1.把外部类交给ioc 容器管理 这样就可以手动获取bean了 通过依赖注入的方式获取了记得首字母小写jiexi 2.如果外部配置类需要用到内部自己定义的类可以在形参声明就可以用了 //比如: dangma.add() 可以直接调用 */ @Bean public SAXReader jiexi(deptsevuce dangma){ //比如: dangma.add(); return new SAXReader(); } }