推荐答案
Spring 支持以下几种配置 Bean 的方式:
- XML 配置:通过 XML 文件定义 Bean 及其依赖关系。
- 注解配置:使用
@Component
、@Service
、@Repository
、@Controller
等注解来声明 Bean。 - Java 配置:通过
@Configuration
和@Bean
注解在 Java 类中定义 Bean。 - Groovy 配置:使用 Groovy 脚本定义 Bean。
- 自动装配:通过
@Autowired
或@Resource
注解自动注入依赖。
本题详细解读
1. XML 配置
XML 配置是 Spring 最早支持的配置方式。通过在 XML 文件中定义 <bean>
标签来声明 Bean,并可以通过 <property>
或 <constructor-arg>
标签来注入依赖。
<bean id="myBean" class="com.example.MyBean"> <property name="dependency" ref="anotherBean"/> </bean>
2. 注解配置
Spring 2.5 引入了基于注解的配置方式。通过在类上添加 @Component
、@Service
、@Repository
或 @Controller
注解,Spring 会自动扫描并注册这些类为 Bean。
@Service public class MyService { // 业务逻辑 }
3. Java 配置
Spring 3.0 引入了基于 Java 的配置方式。通过 @Configuration
注解标记一个类为配置类,并在方法上使用 @Bean
注解来定义 Bean。
@Configuration public class AppConfig { @Bean public MyBean myBean() { return new MyBean(); } }
4. Groovy 配置
Spring 4.0 开始支持使用 Groovy 脚本来配置 Bean。Groovy 配置方式与 Java 配置类似,但语法更加简洁。
beans { myBean(MyBean) { dependency = anotherBean } }
5. 自动装配
Spring 支持通过 @Autowired
或 @Resource
注解自动注入依赖。@Autowired
是 Spring 提供的注解,而 @Resource
是 JSR-250 标准注解。
@Service public class MyService { @Autowired private MyRepository repository; }
这些配置方式各有优缺点,开发者可以根据项目需求选择合适的配置方式。