springboot

Springboot

1、创建maven项目

2、导入springboot相关依赖

<modelVersion>4.0.0</modelVersion>

    <groupId>springboot</groupId>
    <artifactId>springboot</artifactId>
    <version>1.0-SNAPSHOT</version>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.1.RELEASE</version>
    </parent>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

3、springboot项目打成war包在Tomcat下运行

(1)、导入相关依赖,声明打包方式为war包

  • <packaging>war</packaging>
        <build>
            <finalName>index</finalName>
            <resources>
                <resource>
                    <directory>src/main/resources</directory>
                    <filtering>true</filtering>
                </resource>
            </resources>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
                <plugin>
                    <artifactId>maven-resources-plugin</artifactId>
                    <version>2.5</version>
                    <configuration>
                        <encoding>UTF-8</encoding>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>2.18.1</version>
                    <configuration>
                        <skipTests>true</skipTests>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    
  • 
    @RestController
    @SpringBootApplication
    @ComponentScan("com.asiainfo.*") //注解扫描不能缺少
    public class HelloController extends SpringBootServletInitializer {
        @RequestMapping("hello")
        String hello() {
            return "Hello World!";
        }
    
       // public static void main(String[] args) {
       //     SpringApplication.run(HelloController.class, args);
       // }
    
        @Override
        protected SpringApplicationBuilder configure(SpringApplicationBuilder springApplicationBuilder) {
            //注意这里要指向原先用main方法执行的Application启动类
            return springApplicationBuilder.sources(HelloController.class);
        }
    }
    

    4、springboot集成Mybatis

    导入相对应的依赖

    <!--mybatis、数据库驱动 相关依赖-->
            <dependency>
                <groupId>org.mybatis.spring.boot</groupId>
                <artifactId>mybatis-spring-boot-starter</artifactId>
                <version>1.3.2</version>
            </dependency>
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>5.1.40</version>
            </dependency>
    
    

    导入数据库的链接驱动后,需配置数据库链接信息(否则启动报错)

    #应用程序
    server:
      port: 8080
      path: /api
    
    #mysql数据库配置
    spring:
      datasource:
        url: jdbc:mysql://localhost:3306/word
        data-username: root
        data-password: 123456
    

Spring Boot

Spring Boot 和 日志框架整合

日志:系统调试、性能分析(系统调优)、统计

日志框架:日志门面(commons-logging、slf4j)和日志框架实现(log4j、log4j2、logback等)

spring boot默认: slf4j + logback

日志级别:

  • DEBUG debug > 所有日志
  • INFO info > 所有日志
  • WARN warn > 所有日志
  • ERROR
  • OFF

spring boot默认的日志结构

2018-07-14 10:13:58.252 INFO 5368 --- [ main] com.baizhi.SpringbootLogApplication : Started SpringbootLogApplication in 17.183 seconds (JVM running for 21.521)

  • 2018-07-14 10:13:58.252 日志产生的时间 精确到毫秒
  • INFO 日志级别
  • 5368 进程号
  • [ main] 线程名
  • com.baizhi.SpringbootLogApplication 日志类
  • Started SpringbootLogApplication in 17.183 seconds (JVM running for 21.521) 日志的详细信息

如何自定义日志?
Logger logger = LoggerFactory.getLogger(类对象);

// 声明日志采集器
private static final Logger logger = LoggerFactory.getLogger(LogController.class);

@RequestMapping("/")
public String index(){
    // 记录debug级别的日志
    logger.debug("this is debug");

    String username ="zs";

    logger.info("this is info, username : "+username);

    logger.info("this is info, username : {},{},{}",username,"aa","bb");

    logger.warn("this is warn");

    logger.error("this is error");

    return "Hello spring boot";
}

生产环境中日志通常是记录在一个日志文件中的

建议:项目中不要出现打印语句,通过日志框架输入内容


Spring Boot 与 freemarker整合

  • freemarker 基本语法:
<html>
    <head>
        <title>this is index.html</title>
    </head>
    <body>
        <!-- ftl 取值表达式 -->
        <#-- freemarker的注释-->
        Hello:${name}
        <hr>
        <#-- 获取对象类型的value-->
        Hello: ${user.id}  | ${user.name}
        <hr>
        <#-- 获取数值类型的value-->
        <li>${number}</li>
        <li>${number?string.percent}</li>
        <li>${number?string.currency}</li>
        <hr>
        <#-- 获取日期类型的value-->
        <li>年月日:${date?date}</li>
        <li>年月日 时分秒:${date?datetime}</li>
        <li>时分秒:${date?time}</li>
        <li>自定义日期格式:${date?string("yyyy年MM月dd日")}</li>
        <hr>
        <#-- 布尔类型取值-->
        <li>${boolean?string("yes","no")}</li>
        <li>${boolean?c}</li>
        <hr>
        <#-- 获取集合类型的value-->
        <#list balls as ball>
            <li>${ball}</li>
        </#list>

        <hr>
        <#-- 获取map集合类型的value-->
        <#list citys?keys as key>
            <li>${key} -> ${citys[key]}</li>
        </#list>
        <hr>
        <#-- 条件判断语句-->
        <#if name=="zs">
            name属性的value是zs
            <#--注意:else语句没有结束标签-->
            <#else>
            name属性的value不是zs
        </#if>

        <#if number gte 100 >
            number大于100
        </#if>
        <hr>
        <#-- 空值处理-->
        ${exists!"默认值"}
        <hr>
        <#if exists??>
            不为空
            <#else>
            为空
        </#if>
        <hr>
        <#-- include 页面包含-->
        <#--
            动态包含 <jsp:include>  编译后包含
            静态包含 <%@ include>   源代码包含
        -->
        <#--注意:准备数据时,需要提供当前模版文件和包含模版文件的所有数据-->
        <#include "include.ftl">
    </body>
</html>

Spring Boot+Mybatis + 数据库 整合

  • 配置参数
#====================Spring Boot和Mybatis整合 数据库连接参数=======================
spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    username: root
    password: root
    url: jdbc:mysql://localhost:3306/baizhi?useUnicode=true&characterEncoding=utf-8
mybatis:
  # mapper-locations: classpath:com/baizhi/mapper/*Mapper.xml
  type-aliases-package: com.baizhi.entity

SPring Boot + redis 整合

  • 配置参数
# =================Spring Boot和Redis整合 指定 redis server的连接参数================
spring:
  redis:
    host: 172.16.131.128 # redis server的ip地址
    port: 6379
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值