首页 > 编程语言 >9.使用JavaConfig实现配置

9.使用JavaConfig实现配置

时间:2023-01-16 22:11:06浏览次数:37  
标签:name 实现 配置 JavaConfig Bean User org import public

要完全不使用Spring的xml配置了,全权交给Java来做!
JavaConfig 是Spring的一个子项目,在Spring 4 之后,它成为了一个核心功能!

实体类

package com.zuo.entity;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

//这里这个注解的意思,就是说明这个类被Spring接管了,注册到了容器中
@Component
public class User {

    private String name;

    public String getName() {
        return name;
    }

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

    @Override
    public String toString() {
        return "User{" +
                "name='" + name + '\'' +
                '}';
    }
}

MyConfig.java

package com.zuo.config;

import com.zuo.entity.User;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
//@Configuration代表这是一个配置类,就和之前的beans.xml
@Configuration
public class MyConfig {

    //注册一个Bean,就相当于之前的Bean标签
    //方法的名字,相当于Bean的id
    //返回值,相当于Bean标签的class属性
    @Bean
    public User getUser(){
        return new User(); //返回要注入到Bean的对象
    }

}

MyTest.java

import com.zuo.config.MyConfig;
import com.zuo.entity.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 = (User) context.getBean("getUser");

        System.out.println(user.toString());

    }
}

 

标签:name,实现,配置,JavaConfig,Bean,User,org,import,public
From: https://www.cnblogs.com/zuok/p/17056413.html

相关文章

  • IDEA配置Maven
    Maven版本:3.8.3IDEA版本:2021.2IDEA集成Maven插件打开IDEA,进入主界面后点击Customize,然后点击Allsettings在上面的快捷查找框中输入maven,查找与maven相关的设置,然后点......
  • Emacs单文件配置
    编辑~/.emacs输入以下内容;;编码(set-language-info"UTF-8"'coding-priority'(utf-8gb18030gbkgb2312iso-2022-cnchinese-big5chinese-iso-8......
  • 用pageOffice控件实现 office word文档 编辑Word加水印的功能
    OA办公中,业务需要多人编辑word文档,需要加文字水印的功能。怎么实现word文档的编辑加文字水印呢?1实现方法通过pageOffice实现简单的在线打开编辑word时,通过设置doc.get......
  • 从零实现最简编译模型
    简介前两日我偶然间在GitHub上发现了一个项目:the-super-tiny-compiler,官方介绍说这可能是一个最简的编译器。刚好之前学过「编译原理」这门课,我的兴趣一下子就上来了,简......
  • 【转】PageOffice 在线打开 word 文件实现痕迹保留、键盘批注、手写批注
    一、痕迹保留Word中的痕迹一般指的是审阅文档的用户对文档所做的修改(插入和删除)操作。在PageOffice的强制留痕模式下,用户对文档所做的任何修改都会以痕迹的形式保留下来......
  • 思科模拟器:简易校园网组网方案设计、实现、测试及抓包分析
    目录1.题目:校园组网方案设计...32.需求分析...33.理论介绍...44.详细设计...54.1设备的选择与配置...54.1.1交换机与路由器的选择...54.1.2出口路由器添加串......
  • Prometheus Operator配置Alertmanager告警
    1、管理Alertmanagerconfiguration1.1方式一,使用存储在Kubernetessecret中的本地Alertmanager配置文件1、编写alertmanager配置alertmanager.yamlroute:group_by......
  • Redis 缓存和 MySQL 如何实现数据一致性
    需求起因在高并发的业务场景下,数据库大多数情况都是用户并发访问最薄弱的环节。所以,就需要使用redis做一个缓冲操作,让请求先访问到redis,而不是直接访问MySQL等数据库。......
  • vue3.2 + element-plus 表单嵌套表格实现动态表单验证
    借鉴了这位兄弟的思想,进行了优化和vue3.2语法糖改造:https://blog.csdn.net/weixin_45295253/article/details/115582504实现:<template><el-formref="formRef":mod......
  • 10GB以上超大文件上传和断点续传服务器的实现
    ​ 最近遇见一个需要上传超大大文件的需求,调研了七牛和腾讯云的切片分段上传功能,因此在此整理前端大文件上传相关功能的实现。在某些业务中,大文件上传是一个比较重要的......