首页 > 编程语言 >java的配置类 取代xml配置文件

java的配置类 取代xml配置文件

时间:2023-09-13 18:33:18浏览次数:34  
标签:xml java String 配置文件 Value bean dataSource class wind

配置类以及对 注解@Value的使用

// TODO:创建 java的配置类 取代xml配置文件
@Configuration  //配置类注解
@ComponentScan({"com.wind.dao", "com.wind.service"}) // 包扫描注解配置 可存入多个包
@PropertySource(value = "classpath:jdbc.properties")        //引用外部文件 注解   value可省略
public class JavaConfiguration {
    /*
    情况1: ${key} 取外部配置key对应的值
    情况2: ${key:defaultValue} 没有key,可以给与默认值 @Value("${wind.username:hahaha}") */
    @Value("${wind.url}") //设置默认值
    private String url;
    @Value("${wind.drive}")
    private String drive;
    @Value("${wind.username}")
    private String username;
    @Value("${wind.password}")
    private String password;

    @Bean  // TODO:将配置类的方法创建的组件存储到ioc容器  ( <bean> --> 一个方法 )
    //方法的返回值类型:bean组件的类型 或他的父类 或接口
    //方法名字: bean id
    public DruidDataSource dataSource() {
        DruidDataSource dataSource = new DruidDataSource();
        dataSource.setUrl(url);
        dataSource.setDriverClassName(drive);
        dataSource.setUsername(username);
        dataSource.setPassword(password);
        return dataSource;
    }
}
点我查看结果
public class ReplaceXml {
    @Test
    public void test() {
        //方式1:创建ioc容器
        ApplicationContext applicationContext =
                new AnnotationConfigApplicationContext(JavaConfiguration.class);
        //方式2:创建ioc容器
        AnnotationConfigApplicationContext annotationConfigApplicationContext =
                new AnnotationConfigApplicationContext();
        annotationConfigApplicationContext.register(JavaConfiguration.class);
        annotationConfigApplicationContext.refresh();
//        获取组件
        UserService bean = applicationContext.getBean(UserService.class);
        System.out.println(bean);
    }
}

标签:xml,java,String,配置文件,Value,bean,dataSource,class,wind
From: https://www.cnblogs.com/weifengfuxiufa/p/17700433.html

相关文章

  • Java基础-2-集合
    目录简介ListSetMap互相转换简介Java中有三大类集合:List(列表)、Set(集合)、Map(映射),三者都属于接口类,分别有各自的实现。Collection为基本的集合接口,声明了集合的通用方法,List和Set都是继承于此。add(Objecto):新增对象set(intindex,Objecto):设置对象值remove(Objecto):删......
  • java调用第三方接口
    方法一:使用HttpURLConnection类调用第三方接口的示例代码:importjava.io.BufferedReader;importjava.io.InputStreamReader;importjava.net.HttpURLConnection;importjava.net.URL;publicclassThirdPartyApiCaller{publicstaticvoidmain(String[]args){......
  • 无涯教程-JavaScript - ISERROR函数
    描述如果ISERROR函数引用的是Excel错误,则该函数将返回逻辑值TRUE。否则返回FALSE。语法ISERROR(value)争论Argument描述Required/OptionalvalueAnerrorRequiredNotes此函数在公式中用于测试计算输出很有用。与IF函数结合使用时,此函数提供了一种用于定位公式中......
  • 大厂裁员,社招锁 HC,行业内卷严重,Java工程师校招该何去何从?
    一、背景2021年底到2022年,受到疫情和业务发展的影响,很多大厂都开始裁员,社招也开始锁HC,只出不进。而且现在Java面试日益内卷,“面试造火箭,入职拧螺丝”已经不再是啥令人惊讶的事情。这这个大背景下,对我们的校招又会有怎样的影响,我们又该如何应对?本文简单聊下这个话题。二、校......
  • 大厂校招缩招,今年 Java 后端同学校招该何去何从?
    一、背景最近有一些学弟学妹请教一些校招相关的问题。作为一个经历过校招(校招拿到了美团、网易等公司Offer)、社招(在阿里工作),当过面试官的过来人,希望通过本文让大家能够意识到今年校招的形势,帮助大家了解校招复习的误区。前几年互联网很好找工作,尤其是985和211高校的同学,找......
  • Java 程序员的效率工具箱
    一、前言作为Java程序员,常用的软件开发软件(如IDEA、Eclipse)、开源项目(SpringBoot、MyBatis、Dubbo、RocketMQ、Guava等)就那些无需赘述,这里就不想介绍了。借着这个机会,本文介绍几款自己日常开发中经常用到的能够提效的软件和插件,希望对大家有帮助。二、高效软件2.1效率工具集......
  • Java基础——==和equals的区别
     ==:既可以判断基本类型,又可以判断引用类型。==:如果判断基本类型,判断的是值是否相等。==:如果判断的是引用类型,判断的是地址是否相等,即判断是不是同一对象。equals:是object类中的方法,只能判断引用类型。默认判断的是地址是否相等,子类中往往重写该方法,用于判断内容是否相等。(具体可查......
  • springboot 整合 nacos 实现配置文件统一管理 和 服务注册
    1.我使用的是 nacos-server-1.4.1 直接启动nacos没有配置数据库那些.\startup.cmd-mstandalone2.启动后在nacos中创建命名空间配置文件 注意命名空间的id我是自己定义的还有group到时候配置错了服务又不会报错只是会读取不到3.springboot配置 server-addr......
  • Java实现常见查找算法
    Java实现常见查找算法查找是在大量的信息中寻找一个特定的信息元素,在计算机应用中,查找是常用的基本运算,例如编译程序中符号表的查找。线性查找线性查找(LinearSearch)是一种简单的查找算法,用于在数据集中逐一比较每个元素,直到找到目标元素或搜索完整个数据集。它适用于任何类型......
  • 为什么要学习 JavaScript?
    出于多种原因,学习JavaScript非常有帮助,特别是如果您对Web开发或一般编程感兴趣的话。以下是学习JavaScript的一些有力论据:灵活性:JavaScript编程语言非常灵活,可用于前端和后端Web开发。它经常用于创建桌面应用程序(使用Electron等框架)以及移动应用程序(使用ReactNative)。W......