(文件间的具体逻辑看不明白的可以参考前面的博客Spring学习四)
1、创建配置类SpringConfig.java,用于代替xml文件
package demo02.config; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; @Configuration //作为配置类,替代xml配置文件 @ComponentScan(basePackages = {"demo02"}) public class SpringConfig { }
2、UserService.java(和前文一样):
package demo02; import demo02.dao.UserDao; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Component; @Component public class UserService { //在service里面注入dao属性 @Autowired //根据类型注入,但一个实现类中可能有多个类型, // service并不知道要找哪一个,因此需要配合@Qualifier根据名称查找 @Qualifier(value = "userDaoImpl") private UserDao userDao; public void add(){ System.out.println("hahaha"); userDao.add(); } }
3、写个测试类测试(除了引入配置时实现的类不同,其他与使用xml文件的做法相同)
@Test public void testService2(){ ApplicationContext context = new AnnotationConfigApplicationContext(SpringConfig.class); UserService userService = context.getBean("userService", UserService.class); System.out.println(userService); userService.add(); }
4、运行结果