使用Java方法配置Spring代码解析

 更新时间:2020年09月03日 09:58:36   作者:CodeHuba  
这篇文章主要介绍了使用Java方法配置Spring代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

使用Java的方式配置Spring

我们现在要完全不使用Spring的xml配置,全权使用Java来配置Spring!

JavaConfig是Spring的一个子项目,在Spring4之后,他成为了一个核心功能。

实体类:

public class User {
  private String name;

  public String getName() {
    return name;
  }
  @Value("huba") //属性注入值
  public void setName(String name) {
    this.name = name;
  }
}

配置类:

package com.kuang.config;

import com.kuang.pojo.User;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;

@Configuration //这个也会spring容器托管,注册到容器中,因为他本来就是一个@Component
//@Configuration:代表这个一个配置类,就等同于beans.xml
@ComponentScan("com.kuang.pojo")
@Import(MyConfig2.class)
public class MyConfig {

  //注册一个bean,就相当于我们之前写的<bean>标签
  //方法名就相当于bean标签中的id
  //方法的返回值就相当于bean标签中的class属性
  @Bean
  public User user(){
    return new User();//就是返回要注入bean的对象
  }
}

测试类:

import com.kuang.config.MyConfig;
import com.kuang.pojo.User;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;

public class myTest {
  @Test
  public void test(){
    //如果完全使用配置类方式,只能通过AnnotationConfigApplicationContext获取容器,通过配置类的class对象加载!
    ApplicationContext context = new AnnotationConfigApplicationContext(MyConfig.class);
    User user = context.getBean("user", User.class);
    System.out.println(user.getName());
  }
}

这种纯Java的配置方式,在SpringBoot中随处可见!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 解决项目没有build path的问题

    解决项目没有build path的问题

    这篇文章主要介绍了解决项目没有build path的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • java.security.egd 作用详解

    java.security.egd 作用详解

    这篇文章主要为大家介绍了java.security.egd作用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • JDBC数据库连接步骤解析

    JDBC数据库连接步骤解析

    这篇文章主要介绍了JDBC数据库连接步骤解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • kotlin之协程的理解与使用详解

    kotlin之协程的理解与使用详解

    这篇文章主要介绍了kotlin之协程的理解与使用详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-09-09
  • SpringBoot实现API接口多版本支持的示例代码

    SpringBoot实现API接口多版本支持的示例代码

    这篇文章主要介绍了SpringBoot实现API接口多版本支持的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • Spring Boot 日志概念及使用详解

    Spring Boot 日志概念及使用详解

    文章介绍了日志的重要性、日志格式、日志使用方法、日志级别、日志配置、日志持久化以及使用Lombok简化日志输出,感兴趣的朋友一起看看吧
    2025-03-03
  • Java Lambda表达式超详细介绍

    Java Lambda表达式超详细介绍

    这篇文章主要介绍了Java Lambda表达式,Lambda表达式是Java SE 8中一个重要的新特性, Lambda 表达式(Lambda expression)可以看作是一个匿名函数,基于数学中的λ演算得名,也可称为闭包(Closure),下面来看看文章具体的详细介绍吧
    2022-02-02
  • 带你了解Java中Static关键字的用法

    带你了解Java中Static关键字的用法

    这篇文章主要介绍了JAVA Static关键字的用法,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下,希望能给你带来帮助
    2021-08-08
  • 记录jdk21连接SQLServer因为TLS协议报错问题

    记录jdk21连接SQLServer因为TLS协议报错问题

    在使用Druid连接池连接SQL Server时,可能会遇到因TLS版本不匹配导致的连接失败问题,具体表现为客户端使用TLS1.3或TLS1.2,而SQL Server仅支持TLS1.0,导致无法建立安全连接,解决方法是修改JDK的安全配置,启用TLS1.0
    2024-10-10
  • MyBatis中resultMap和resultType的区别详解

    MyBatis中resultMap和resultType的区别详解

    这篇文章主要介绍了MyBatis中resultMap和resultType的区别详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07

最新评论