@Configuration加载spring

简介: @Configuration加载spring

在Spring中,我们可以使用@Configuration来定义一个配置类,并使用@ComponentScan注解来启用组件扫描,将所有@Component注解的类自动注册为Spring的Bean。我们还可以通过在@Configuration类中使用@Bean注解,手动将类注册为Spring的Bean,这个过程可以由Spring容器自动处理。

下面是一个简单的@Configuration类的例子:

@Configuration
@ComponentScan(basePackages = "com.example.app")
public class AppConfig {

@Bean
public UserDao userDao() {
    return new UserDaoImpl();
}

}
在这个例子中,@Configuration注解表明AppConfig是一个配置类。@ComponentScan注解指示Spring自动扫描com.example.app包中的所有类,并将带有@Component注解的类自动注册为Spring的Bean。同时,userDao()方法上的@Bean注解表示将UserDaoImpl类的实例注册为Spring的Bean。

为了使用这个AppConfig,在Application类中需要进行如下配置:

public class Application {
public static void main(String[] args) {
AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext();
ctx.register(AppConfig.class);
ctx.refresh();
UserService userService = ctx.getBean(UserService.class);
userService.saveUser(new User("Alice"));
}
}
在这个例子中,我们使用AnnotationConfigApplicationContext创建一个Spring容器,然后使用register()方法将AppConfig注册到容器中,最后使用refresh()方法刷新容器。注意,在这个例子中,我们手动地调用了refresh()方法。在实际使用中,容器会自动进行初始化和刷新。

getBean()方法用来获取Spring容器中的Bean实例,此处我们获取了一个名为userService的Bean,它依赖于userDao这个Bean。

这样,我们就使用@Configuration加载了Spring,同时也注册了UserDaoImpl的Bean。现在我们可以使用这个Bean创建UserService的实例,并调用它的saveUser()方法,将一个新User对象保存到数据库中。

相关文章
|
7月前
|
缓存 Java 容器
【Spring IOC容器加载过程】
【Spring IOC容器加载过程】
|
2天前
|
XML Java Maven
第1次Spring源码学习之@Bean、@Configuration、xml、分析
第1次Spring源码学习之@Bean、@Configuration、xml、分析
46 0
|
7月前
|
XML Java 数据格式
我滴妈!人事竟然问我Spring BeanDefinition是如何帮我们解析和加载的?
我滴妈!人事竟然问我Spring BeanDefinition是如何帮我们解析和加载的?
38 0
我滴妈!人事竟然问我Spring BeanDefinition是如何帮我们解析和加载的?
|
2天前
|
druid Java 关系型数据库
Spring案例:数据源对象管理及加载properties文件
Spring案例:数据源对象管理及加载properties文件
34 0
|
6月前
|
存储 Java Spring
Spring框架中的Resource接口是什么,以及它在加载和访问资源时的关键作用
使用 Resource 加载资源 要使用 Resource 接口加载资源,首先需要获取一个 ResourceLoader 实例,通常可以通过依赖注入来获得。接下来,您可以使用 ResourceLoader 来获取 Resource 对象,然后使用它来访问资源的内容。
|
7月前
|
XML 存储 Java
【Spring IoC容器的加载过程】
【Spring IoC容器的加载过程】
|
9月前
|
Java Spring
Spring Boot入门(十三) 之 @Configuration实现页面跳转
Spring Boot入门(十三) 之 @Configuration实现页面跳转
|
9月前
|
Java Spring
Spring Boot入门(九) 之 配置文件的加载位置
Spring Boot入门(九) 之 配置文件的加载位置
148 0
|
10月前
|
XML SpringCloudAlibaba Java
Spring注解配置:@Configuration 和 @Component 区别及原理详解
随着`Spring Boot`的盛行,注解配置式开发受到了大家的青睐,从此告别了基于`Spring`开发的繁琐`XML`配置。这里先来提纲挈领的了解一下`Spring`内部对于配置注解的定义,如`@Component、@Configuration、@Bean、@Import`等注解,从功能上来讲,这些注解所负责的功能的确不相同,但是
182 1
|
10月前
|
SQL 缓存 安全
【企业项目实战】Spring Boot 启动时加载指定方法
【企业项目实战】Spring Boot 启动时加载指定方法
423 0
【企业项目实战】Spring Boot 启动时加载指定方法