装配Bean
上一章节中,我们通过xml进行了Bean的装配,但是在现在大部分的开发场景下,我们已经不写xml文件了。因为大家也看到了,写xml的方式太过繁琐。讲解xml的方式主要是让大家知道有这么一种形式,这一章,主要是通过JavaConfig的方式来进行bean的简单装配。
创建实例
首先,我们创建一个spring-demo001的项目,具体的包结构如下:
JavaConfig类:
我们可以回顾下之前的xml配置,如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="Index of /schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="Index of /schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="userService" class="com.hs.spring.UserService">
</bean>
</beans>
现在我们定义了一个BeanConfiguration类,作为一个JavaConfig,它替换了原来的XML功能,定义如下:
package com.demo.spring.config;
import com.demo.spring.service.UserService;
import com.demo.spring.service.impl.UserServiceImpl;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class BeanConfiguration {
@Bean
public UserService userService(){
return new UserServiceImpl();
}
}
于是,UserService类就装载到容器中类,我们使用测试类来进行测试:
package com.demo.spring;
import com.demo.spring.config.BeanConfiguration;
import com.demo.spring.service.UserService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
public class TestBeanConfiguration {
public static void main(String[] args) {
ApplicationContext applicationContext = new AnnotationConfigApplicationContext(BeanConfiguration.class);
UserService userService = (UserService)applicationContext.getBean("userService");
userService.addUser();
}
}
可以看到,测试类与之前并没有大大的区别,不使用xml,直接采用Java类的方式,是不是更方便呢?文章只是给出了一个示例,一般我们使用JavaConfig类,都是为了装配不是我们源码提供的类,而是一些第三方的Bean,如Redis等。