[Java教程]使用Java方式配置Spring
0 2021-01-22 13:00:12 我们之前使用的Spring的
JavaConfig原来是 Spring 的一个子项目,它通过 Java 类的方式提供 Bean 的定义信息,在Spring4之后的版本, JavaConfig已正式成为Spring的核心功能 。
JavaConfig的核心注解@Configuration,它的源码如下@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documented@Componentpublic @interface Configuration { @AliasFor(annotation = Component.class)String value() default ""; boolean proxyBeanMethods() default true;}
通过源码我们可以看出:
@Configuration是元注解,它有很多其他的注解实现,有一个就是@Component,说明它也会被Spring容器托管,注册到容器中。
@Configuration代表这是一个配置类,就和Spring的applicationContext.
1、创建Bean编写一个实体类@Component // 添加@Component注解,交给Spring托管public class User { private String name; @Override public String toString() { return "User{" + "name='" + name + '\'' + '}'; } public String getName() { return name; } public void setName(String name) { this.name = name; }}
新建一个config包,编写一个AppConfig类@Configuration // @Configuration表示这是一个配置类public class AppConfig { // 通过方法注册一个bean。 // 方法的返回值就Bean的类型,方法名就是bean的id! @Bean public User getUser(){ return new User(); // 返回要注入到Bean的对象 }}
上面的getUser()方法就相当于
测试@Testpublic void test01() throws Exception{ // 使用AnnotationConfigApplicationContext获取容器 ApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class); User user = context.getBean("getUser"); System.out.println(user);}
2、其他配置
2.1、导入其他配置类@Configuration@Import({WebConfig.class})public class AppConfig { //bean definition...}
它就相当于
它就相当于
2.3、其他详细配置
关于javaConfig的方式,详情请见这篇博客:使用JavaConfig形式配置Spring框架,了解一下
关于这种Java类的配置方式,我们在之后的SpringBoot 和 SpringCloud中还会大量看到,我们需要知道这些注解的作用即可!
本文网址:http://www.shaoqun.com/a/512567.html
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:admin@shaoqun.com。
JavaXMLSpring
0