前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SpringBoot-Java的配置方式

SpringBoot-Java的配置方式

原创
作者头像
BNTang
发布2023-10-01 20:15:10
1960
发布2023-10-01 20:15:10
举报

SpringBoot 默认使用 Servlet3.0 可以没有 web.xml 没有任何的 xml 如果我们想要做一些自定义的配置 比如数据库相关的配置,该如何配置

可以使用 Java 的配置方式

配置的演变

Spring1.0 时代:Spring 的配置都是使用 xml 的方式 Spring2.0 时代:引入了 注解,并未完全替代 xml Spring 3.0 及以后:3.0 以后 Spring 的注解已经非常的完善了

Java的配置

SpringBoot 当中 Java的配置方式主要靠 Java类 和一些 注解 代替 xml

注解名称

作用

@Configuration

标记一个类,作为 配置类,代替 xml 文件

@Bean

标记在方法上,将方法的返回值,加入到 Bean容器,代替 <bean> 标签

@value

属性值注入,也就是设置值

@PropertySource

指定 读取 那个,外部属性配置文件

创建一个配置文件 jdbc.properties,内容如下:

代码语言:text
复制
jdbc.driverClassName=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/springboot?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=false
jdbc.username=root
jdbc.password=root

引入 druid 数据库连接池依赖

代码语言:html
复制
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid</artifactId>
    <version>1.1.10</version>
</dependency>

创建 JdbcConfig 配置类 引入 jdbc.properties 代码如下:

代码语言:java
复制
/**
 * @author: BNTang
 */
@Configuration
@PropertySource("classpath:jdbc.properties")
public class JdbcConfig {
    @Value("${jdbc.driverClassName}")
    private String driverClassName;
    @Value("${jdbc.url}")
    private String url;
    @Value("${jdbc.username}")
    private String username;
    @Value("${jdbc.password}")
    private String password;

    @Bean
    public DataSource dataSource(){
        DruidDataSource dataSource = new DruidDataSource();
        dataSource.setDriverClassName(driverClassName);
        dataSource.setUrl(url);
        dataSource.setUsername(username);
        dataSource.setPassword(password);
        return dataSource;
    }
}

然后在控制器当中进行测试 测试代码如下:

代码语言:java
复制
/**
 * @author: BNTang
 **/
@Controller
public class HelloController {

    @Autowired
    private DataSource dataSource;

    @RequestMapping("hello")
    @ResponseBody
    public String hello(){
        return "hello Java Config" + dataSource;
    }
}

然后找到启动类,启动项目 在浏览器中访问:http://localhost:8080/hello

我正在参与2023腾讯技术创作特训营第二期有奖征文,瓜分万元奖池和键盘手表

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 配置的演变
  • Java的配置
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com