spring boot 整合mybatis,redis,热部署

1.整合mybatis

(1) 配置yml文件: spring boot 配置自动配置注入数据源

server:
  port: 8090
#
#spring:
#  datasource:
#    druid:
#      url: jdbc:mysql://192.168.1.9:3306/ftt?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&useSSL=false
#      username: root
#      password: root
#      driver-class-name: com.mysql.jdbc.Driver

spring:
  datasource:
      url: jdbc:mysql://192.168.1.9:3306/ftt?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&useSSL=false
      username: root
      password: root
      driver-class-name: com.mysql.jdbc.Driver
  redis:   -- 针对redis配置
    port: 6379
    database: 0
    host: 192.168.1.5
    jedis:
      pool:
        max-active: 8

mybatis:
          mapper-locations: classpath:mapping/*.xml
          type-aliases-package: com.springboot.mapper
debug: true

(2)通过代码注入数据源,sqlSessionFactory

//@Configuration
public class MybatisConfig {

//    @Bean(name = "sqlSessionFactory")
//    public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception {
//        SqlSessionFactoryBean bean = new SqlSessionFactoryBean();
//        bean.setDataSource(dataSource);
//        bean.setTypeAliasesPackage(" com.springboot.mappper");
//        ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
//        bean.setMapperLocations(resolver.getResources("classpath:mapping/*.xml"));
//        return bean.getObject();
//    }

}
//@Configuration
public class DataConfig {

//    @Primary
//    @Bean(name="dataSource")
//    public DruidDataSource dataSource(){
//        DruidDataSource dataSource = new DruidDataSource();
//        dataSource.setUrl("jdbc:mysql://192.168.1.9:3306/ftt?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&useSSL=false");
//        dataSource.setDriverClassName("com.mysql.jdbc.Driver");
//        dataSource.setPassword("root");
//        dataSource.setUsername("root");
//        return dataSource;
//    }
}

后续代码整合:

@RestController
@RequestMapping("/person")
public class PersonController {

    @Autowired
    private PersonMapper personMapper;
    @Autowired
    private StringRedisTemplate redisTemplate;

    @ResponseBody
    @RequestMapping("/test")
    public String test(){
        return "测试成功99990000";
    }


    @ResponseBody
    @RequestMapping("/getall")
    public List<PersonEntity> getall(){
        String s =  redisTemplate.opsForValue().get("ftt");
        System.out.println(s);
        return personMapper.getAll();
    }
}
@SpringBootApplication
@MapperScan(basePackages = "com.springboot.mapper") //扫描mapper文件
public class DemoApplication {

   public static void main(String[] args) {
      SpringApplication.run(DemoApplication.class, args);
   }
}

pom.xml 文件:

@1  如果不引入数据源包:使用springboot 默认整合的数据源

@2  如果引入 druid-spring-boot-starter 1.1.0 版本存在缺陷,不要使用

会报org.springframework.beans.factory.UnsatisfiedDependencyException异常

使用springboot 整合的数据源,使用的是阿里巴巴的数据源

@3 使用阿里巴巴的数据源,spring boot 里面采用的还是默认的type=HikariDataSource

2.热部署  改动代码无需启动。只需要重新编译就可以访问改动后的代码

idea 设置:

1) “File” -> “Settings” -> “Build,Execution,Deplyment” -> “Compiler”,选中打勾 “Build project automatically” 。

2) 组合键:“Shift+Ctrl+Alt+/” ,选择 “Registry” ,选中打勾 “compiler.automake.allow.when.app.running” 。

mvn spring-boot:run
<!-- 热部署-->
   <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-devtools</artifactId>
      <optional>true</optional>
     optional=true,依赖不会传递,该项目依赖devtools;之后依赖myboot项目的项目如果想要使用devtools,需要重新引入 &ndash;&gt;
   </dependency>

3.整合redis

yml 配置:如上

pom引入 :

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

直接引入使用:

@Autowired
private StringRedisTemplate redisTemplate;

4.spring boot 默认使用的容器是tomcat
pom.xml 可以不引入

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-tomcat</artifactId>
</dependency>

最初输出:

猜你喜欢

转载自my.oschina.net/u/3098425/blog/1816393