【Springboot】学习笔记

Springboot学习笔记

  • 使用jar包发布,不需要使用war包依赖于tomcat
  • 使用properties或者yml配置文件进行配置,默认扫描全局下的application
  • 使用注解风格开发,极简化代码

这里讲一点重要配置

  • springboot一般我们可以使用idea自动创建,或者登陆此网站下载springboot项目然后导入,也可以通过maven导入springboot依赖进行创建
<!-- 
	springboot主要依赖
	这里指向spring的parent,
	里面替我们管理了后续的所有jar包版本,
	并且集成了大量框架,包括spring全家桶,log4j等
 -->
 	<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.3.RELEASE</version>
        <relativePath/>
    </parent>

<!-- 之后导入jar包不需要再加版本号 -->

<!-- 这个是springboot的data-jpa包,主要作用于持久层的框架 -->
	<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
<!-- 
	这个是springboot的web包,是springweb开发必备包
-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

<!-- 
	这个是springboot必备包,主要用于启动spring项目
-->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.3.2</version>
        </dependency>


<!-- 
	这个是springboot必备包,集成maven的插件,可以通过maven部署
-->
 <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

  • 热加载部署Springboot,这样可以有效的让我们测试代码,我们只需要修改springboot项目中的文件,springboot就会替我们自动重启项目
<!-- 先在Pom里配置好热部署关键jar包 -->
 	   <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <optional>true</optional>
        </dependency>


 <!-- spring热部署插件 -->
	<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <dependencies>
                    <dependency>
                        <groupId>org.springframework</groupId>
                        <artifactId>springloaded</artifactId>
                        <version>1.2.8.RELEASE</version>
                        <scope>provided</scope>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>
    </build>

关于热部署,idea用户需要在File-》setting-》build-》Compiler下勾选Build project automatically,应用后关闭。并通过Ctrl+Shift+Alit+/进入register然后勾选compiler.automake.allow.when.app.running即可开启热部署。

关于springboot的部署

  • springboot的部署主要有2种方式

    1. 通过命令行工具使用maven进行部署

      # 先要进入项目的pom.xml同级目录
      mvn spring-boot:run   #就可进行springboot的部署
      
    2. 通过jar包形式部署

      #springboot可以被导出成jar包,这里以courses-0.0.1-SNAPSHOT.jar为例
      java -jar courses-0.0.1-SNAPSHOT.jar #进行springboot的部署
      

springboot的重要注解

  1. @MapperScan用来指定扫描Mapper接口的包位置

  2. @ComponentScan用来指定扫描注解的包位置

  3. @SpringBootApplicationspringboot的启动类,代表全局应用

  4. @RestController类级别注解,修饰controller类,具有把响应参数转换为json字符的功能,相当于@Controller@ResponseBody两个注解的作用

  5. @EnableAutoConfiguration通常要进行某个模块的测试时,可以在那个类上用这个注解,具有和@SpringBootApplication相同的作用

  6. PropertySource用来加载指定的properties文件,可以同时加载多个

  7. @ConfigurationProperties用来加载application.properties或者application.yml全局配置文件的注解,可以指定perfix前缀,对象字段会根据name自动注入属性

  8. @Configuration类级别注解,用来指定当前类为spring的配置类,方法上用Bean注解,并返回一个对象,相当于spring的xml注入IOC,方法名为id

这里我贴出我平时过的最多的全局配置文件

server:
  port: 8080
  tomcat:
    uri-encoding: utf-8

mybatis:
  type-aliases-package: com.shaw.demo.courses.pojo
  mapper-locations: classpath:mapper/*.xml
  configuration:
    map-underscore-to-camel-case: true #开启驼峰命名规则
    lazy-loading-enabled: true #开启延迟加载
    cache-enabled: true #开启二级缓存
    aggressive-lazy-loading: true #开启按需加载


spring:
  datasource:
    url: jdbc:mysql://localhost:3306/course?useSSL=true
    driver-class-name: com.mysql.jdbc.Driver
    type: com.alibaba.druid.pool.DruidDataSource
    username: root
    password: 1111
  thymeleaf: #不缓存页面 热加载刷新
    cache: false
  devtools:   #开启热加载
    restart:
      enabled: true
  output:
    ansi:
      enabled: always  #日记输出彩色
  mvc:
    view:
      prefix: /WEB-INF/pages/
      suffix: .html
logging:
  level:
    com.shaw.demo.courses.dao: debug  #log4j对持久层进行日记管理
  path: F:\\JAVA\\Course\\courses\\logs #log输出地址

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值