SpringBoot

入门使用

原理简述 @SpringBootApplication

  1. @EnableAutoConfiguration 自动加载配置类

     1. spring.factories 配置 配置类
     		Spring在其中默认编写好了一系列键值对: 接口名=具体配置实现类全类名 的键值对的properties文件,启动器加载时会自动读取
     2. @import (AutoConfigurationImportSelector.class)使用  选择性自动配置 
     		1. spring-autoconfigure-metadata.properties
     				Spring在其中默认编写好了配置类的默认属性值
     		2. AutoConfigurationImportSelector
     				使用AutoConfigurationMetadataLoader 默认读取上述配置文件中的属性值,存入Entry
     				根据配置文件值和注解,为配置类注入数据 并生效某些配置;
    
  2. @ComponentScan 组件扫描(从默认包路径)

生成项目

File-new-project-Spring Initializr(需联网)-添加依赖:勾选web的Spring web-填写基本信息-生成项目

 	项目目录(仅罗列重点目录):
 	src
 		main
 			java
 				com.aa.bb
 						启动类(使用该类的main方法启动项目;该类必须在其他所有类的外层包中)
 			resources
 				application.properties(或.yml)(mybatis的主配置文件)
 		test
 	pom(根据勾选,自动整合了依赖)

整合Mybatis

2.1- 引入数据库相关依赖

		手动引入mybatis-spring-boot-starter依赖并指定版本-引入mysql-connector依赖-引入lombok依赖
2.2- 创建实体类、mapper接口和对应的xml文件
 		
 		mapper接口上使用@Mapper注解 或 启动类上使用@MapperScan(basePackages = {"包名"})注解
 				*正常情况下使用org.apahce.ibatis下的@MapperScan注解
 				*使用mapper启动器,继承 tk包的Mapper<T>接口 反射创建 单表增删改查方法 时,需使用tk包的注解@MapperScan!
 		XML中指定namespace,对应mapper接口类全类名
 		
2.3- 创建myBatis主配置文件(SqlMapConfig.xml)
2.4- 配置application.yml
		
		指定jdbc连接信息、spring.datasoruce连接信息、mybatis.config-location主配置文件的位置和mybatis.mapper-location映射xml的位置

配置类

概念

SpringBoot中,是尽量减少配置文件的。“习惯>配置”
如需其他配置信息/参数,写到application.yml中,然后使用配置类读取即可(无需繁琐地指定配置文件的位置用于加载)

使用

  1. 配置文件 application.yml(推荐)或 自定义yml文件
#application.xml
jdbc:
  username: root
  password: 1127cb56
  url: jdbc:mysql:///homework?serverTimezone=GMT
  driverClassName: com.mysql.cj.jdbc.Driver
#jdbc.properties
jdbc.username=root
jdbc.password=1127cb56
jdbc.url=jdbc:mysql:///homework?serverTimezone=GMT
jdbc.driverClassName=com.mysql.cj.jdbc.Driver
  1. 配置类
//application.xml
@Data
@ConfigurationProperties(prefix = "jdbc")
//使用application.xml:自动读取前缀为jdbc的参数,根据名称匹配。无需@value,可装配集合类型。需要在使用该配置类的类添加@EnableConfigurationProperties
public class JDBCYML {

    private String url;
    private String username;
    private String password;
    private String driverclassname;
    
	@Bean//自动装配方法
    public String jtest(){
        return "aaaa";
    }
}


//自定义配置文件jdbc.properties
@Data
@Configuration
@PropertySource(value = "classpath:/jdbc.properties")
//自定义yml/properties配置文件:需要使用@PropertySource注解定义文件读取的位置,然后再在属性上使用${}取值(只能操作简单类型)
public class JDBCProp {

    @Value("${jdbc.url}")
    private String url;
    @Value("${jdbc.username}")
    private String username;
    @Value("${jdbc.password}")
    private String password;
    @Value("${jdbc.driverClassName}")
    private String driverclassname;
}
  1. 使用
@RestController
@EnableConfigurationProperties(JDBCYML.class)
public class TestController {

    @Resource
    private JDBCYML jdbcyml;

    @Resource
    private JDBCProp jdbcProp;

    @RequestMapping("/h")
    public String test(){
        return "hello"+jdbcyml.getUsername()+jdbcProp.getPassword()+jdbcyml.jtest();
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值