SpringBoot-Java的配置方式

2023-10-01 20:15:10 浏览数 (1)

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+8&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腾讯技术创作特训营第二期有奖征文,瓜分万元奖池和键盘手表

0 人点赞