springboot的初步使用

SpringBoot为属性赋值

如果将类中的属性直接赋值,则后台修改维护时不方便.

最好的方式应该通过配置文件的方法动态赋值.

利用@Value为属性赋值

编辑YML配置文件

#语法说明  
  #1.数据结构  k-v结构  k:(空格)v
  #2.有层级关系 相同的层级可以缩进
  #3.YML配置文件本身是utf-8格式,并且程序读取时也是utf-8编码 不会乱码
server:
  port: 8090
  servlet:
    context-path: /
​
#为属性赋值
jdbc:
  jdbcName: mysql数据库
  jdbcUrl:  127.0.0.1:3306

编辑JDBCController

@RestController //标识返回值是JSON字符串
public class JDBCController {
    
    /**
     * 1.利用@Value注解 为属性赋值   spel表达式
     * 原理: 
     *  1.Spring程序启动时,会加载YML配置文件,解析配置文件中的k-v格式,之后
     * 保存到Spring所维护的map集合中.
     *  2.当Spring程序解析RestController时,会实例化当前对象,需要为其中的数据利用
     *  @value注解完成赋值操作.
     *  3.spring程序根据spel表达式的语法在map集合中根据key查找数据,
     *      如果查询没有问题,则可以直接赋值.
     *      如果查询不到数据,则spring容器启动报错
     */
    @Value("${jdbc.jdbcName}")
    private String jdbcName;    // = "mysql";
    @Value("${jdbc.jdbcUrl}")
    private String jdbcUrl;     // = "127.0.0.1:3306";
    
    
    @RequestMapping("/getJDBC")
    public String getMsg() {
        
        return jdbcName + ":" + jdbcUrl;
    }
    
}

批量为属性赋值

添加jar包文件

<!--添加属性注入依赖 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <optional>true</optional>
        </dependency>

添加注解

@RestController //标识返回值是JSON字符串
@ConfigurationProperties(prefix="jdbc2") //程序自动的扫描前缀为jdbc2的属性
public class JDBCController2 {
    
    /**
     *    批量为属性赋值
     *  jdbcName: mysql数据库
        jdbcUrl:  127.0.0.1:3306
          
          要求:
          1.YML配置文件中属性的名称应该与类中属性的名称一致.
          2.需要配合SET方法完成赋值操作.
     */
    private String jdbcName;    // = "mysql";
    private String jdbcUrl;     // = "127.0.0.1:3306";
    
    
    @RequestMapping("/getJDBC2")
    public String getMsg() {
        
        return jdbcName + ":" + jdbcUrl;
    }
​
​
    public String getJdbcName() {
        return jdbcName;
    }
​
​
    public void setJdbcName(String jdbcName) {
        this.jdbcName = jdbcName;
    }
​
​
    public String getJdbcUrl() {
        return jdbcUrl;
    }
​
​
    public void setJdbcUrl(String jdbcUrl) {
        this.jdbcUrl = jdbcUrl;
    }
    
    
    
}

SpringBoot指定配置文件为属性赋值

指定配置文件为属性赋值

jdbc3.jdbcName=mysqlPro
jdbc3.jdbcUrl=127.0.0.1:3306

编辑JDBCController
添加注解,加载指定的配置文件

@RestController //标识返回值是JSON字符串
@PropertySource("classpath:/properties/jdbc.properties")
//加载指定的配置文件,之后交给Spring容器统一管理
public class JDBCController3 {
    
    /**
     * 赋值操作 2中   1.@value方式赋值   2.批量赋值
     *指定配置文件
     */
    @Value("${jdbc3.jdbcName}")
    private String jdbcName;
    @Value("${jdbc3.jdbcUrl}")
    private String jdbcUrl;
    
    
    @RequestMapping("/getJDBC3")
    public String getMsg() {
        
        return jdbcName + ":" + jdbcUrl;
    }}

程序热部署

<!--支持热部署 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
        </dependency>

LOMBOK插件配置

<!--引入插件lombok 自动的set/get/构造方法插件  -->
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
</dependency>

校验lombok插件是否安装成功


LOMBOK使用

@Data   //生成get/set/toString/equals
@Accessors(chain=true)  //表示链式加载  重写set方法,将对象返回
@NoArgsConstructor      //添加无参构造   为以后框架的使用做准备
@AllArgsConstructor     //全部参数的构造方法.
public class User {
    private Integer id;
    private String name;
    private Integer age;
    private String sex;
    
    /**
     * 重写set方法,实现对象的连续调用
     */
    /*public User setId(Integer id) {
        this.id = id;
        return this;
    }
    
    public User setName(String name) {
        this.name = name;
        return this;
    }*/
    
    
}

SpringBoot整合Mybaits

导入mybaits jar包

<!--引入数据库驱动 5.5/5.7 5.8数据库则去除版本,使用高版本驱动 -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
            <!--链接数据库代理 使用低版本驱动 -->
            <version>5.1.32</version>
        </dependency><!--springBoot数据库连接 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <!--SpringBoot的启动项 开箱即用 -->
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
​
​
        <!--spring整合mybatis 暂时 -->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.1.2</version>
        </dependency>

编辑YML配置文件

server:
  port: 8090    #表示端口号信息
  servlet:
    context-path: /   #项目发布路径
spring:
  datasource:
        #如果使用高版本驱动则配置如下
    #driver-class-name: com.cj.mysql.jdbc.Driver
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/jtdb?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true
    username: root
    password: root
​
mybatis:
  type-aliases-package: com.jt.demo.pojo
  mapper-locations: classpath:/mybatis/mappers/*.xml
  #开启驼峰映射
  configuration:
    map-underscore-to-camel-case: true

数据源配置说明:

url: jdbc:mysql://127.0.0.1:3306/jtdb?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true
​
​
serverTimezone=GMT%2B8        %2B  +
useUnicode=true     是否使用该编码 true
characterEncoding=utf8   指定输入的字符集编码 默认
autoReconnect=true   如果链接中断,是否允许重新链接
allowMultiQueries=true  是否允许执行多个sql语句.

别名包定义

mybatis:
    #定义别名包
  type-aliases-package: com.jt.pojo
<!--resultType="包名.类名"  
        需求:包路径能否简化  包路径进行抽取,在配置文件中只写类名.
        可以通过别名包的形式动态拼接.
        
        如果添加了别名包,则再写全路径是否报错呀?  没关系 程序会自动的检测
    -->
    <select id="findAll" resultType="User">
        select * from user
    </select>
mybatis:
    #定义别名包
  type-aliases-package: com.jt.pojo  
  mapper-locations: classpath:/mybatis/mappers/*.xml  #动态的导入xml映射文件
    #开启驼峰映射
  configuration:
    map-underscore-to-camel-case: true   #为了user_id与userId完美映射.无需手动转化

mapper的包扫描

@SpringBootApplication
//利用主启动类统一管理mapper的接口,利用包扫描的方式进行管理.
@MapperScan("com.jt.mapper")
public class SpringbootDemoMybatisApplication {public static void main(String[] args) {
        SpringApplication.run(SpringbootDemoMybatisApplication.class, args);
    }}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值