个人在线学习网站(第一章 SpringBoot 项目搭建)

目录

第一章 SpringBoot 项目搭建

1.1新建springboot项目

1.2项目初始配置

1.3代码关联Git远程仓库

1.4启动日志优化

1.5开发hello world接口

1.6 使用HTTP测试接口

1.7配置文件介绍

1.8配置热部署

常见面试题总结


第一章 SpringBoot 项目搭建

1.1新建springboot项目

springboot快速创建项目(spring Initzr)
选择依赖 web-Spring-Web 版本2.4.0
(先选择默认,生成项目后,在pom.xml里将版本改为2.4.0)
文件说明:
src----项目最基本目录,全部代码写在这个里面分main和test
.gitignore----标识哪些文件不需要提交,要忽略掉
HELP.md(README.md)----md就是markdowm 项目描述
pom.xml----maven核心文件,maven管理jar包
启动类一般叫xxxApplication或直接Application,右键运行即可

springboot项目其实是一个maven父子项目

SpringBoot不需要配置容器,是因为使用了嵌入式容器,默认使用tomcat启动,默认端口8080
(学JavaWeb经常会听到容器,用于启动JavaWeb项目,常见的容器有tomcat、netty、jboss、weblogic)

SpringBoot项目使用main函数启动,一般放在XXXApplication类里,需要@SpringBootApplication注解

1.2项目初始配置

  • 编码统一配置成UTF-8  file--setting--encode--编码统一配置为utf-8
  • JDK配置  file-Project Structure  1.8
  • maven配置   Maven使用阿里云镜像,下载Jar包更快
  • Git配置  VCS--Enable Version

    • 红色:还没交给Git管理
    • 绿色:Git已管理,还未提交
    • 蓝色:作过修改,还未提交
    • 灰色:文件删除,还未提交

1.3代码关联Git远程仓库

关联码云
git常用命令复习

1.4启动日志优化

  • logback日志样式修改   logback-spring.xml

  • 增加启动类
     

    private static final Logger LOG = LoggerFactory.getLogger(SysApplication.class);
    
        public static void main(String[] args) {
            SpringApplication app = new SpringApplication(SysApplication.class);
            Environment env = app.run(args).getEnvironment();
            LOG.info("启动成功!!");
            LOG.info("地址: \thttp://127.0.0.1:{}", env.getProperty("server.port"));
    
        }

  • 修改启动端口号
    resources--application.properties  中 server.port=8880

1.5开发hello world接口

@RestController=@Controller+@ResponseBody

@Controller表示交给spring来管理

@ResponseBody 用来返回字符串或JSON对象

@RequestMapping最后访问路径,表示这个接口支持所有的请求方式

@RequestMapping(“id”)表示id值需要通过路径进行传递

如果启动类和其它类所在的包没有包含关系的话,需要加@ComponentScan注解

1.6 使用HTTP测试接口

在文件夹下新建一个文件夹http,随意命名,但是后缀必须是.http,
get请求快捷键gtr
post请求快捷键ptrp

1.7配置文件介绍

SpringBoot会自动识别下面这组配置文件
application.properties/yml

properties和yml文件互转:在线yaml转properties-在线properties转yaml-ToYaml.com

1.8配置热部署

1.在pom.xml中<dependencies>下引入依赖

SpringBoot内置的依赖不需要加版本号

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

2.开启静态自动编译
setting--Compiler--勾选Build project automatically

3.双击shift  搜索Registry,勾选compiler.automake.allow.when.app.running,改变之后点击小锤子

常见面试题总结

  1. SpringBoot有哪些优点?SpringBoot有哪些优点?
     - 快速创建独立运行的Spring项目以及与主流框架集成
     - 使用嵌入式的Servlet容器,应用无需打成WAR包
     - starters自动依赖与版本控制
     - 大量的自动配置,简化开发,也可修改默认值
     - 无需配置XML,无代码生成,开箱即用
     - 准生产环境的运行时应用监控
     - 与云计算的天然集成
  2. SpringBoot为什么能直接运行?
    SpringBoot内置嵌入式的Servlet容器,且有大量的自动配置简化开发,能做到开箱即用,所以可以直接运行
  3. 列一下常见的git命令(你都用过哪些命令)?或具体到某个命令的用法,如:怎么从远程仓库把代码取下来?

    git branch 查看本地所有分支

    git status 查看当前状态 

    git commit 提交 

    git branch -a 查看所有的分支

    git branch -r 查看远程所有分支

    git commit -am "init" 提交并且加注释 

    git remote add origin git@192.168.1.119:ndshow

    git push origin master 将文件给推到服务器上 

    git remote show origin 显示远程库origin里的资源 

    git push origin master:hb-dev 将本地库与服务器上的库进行关联 

    git checkout --track origin/dev 切换到远程dev分支

    git branch -D master develop 删除本地库develop

    git checkout -b dev 建立一个新的本地分支dev

    git merge origin/dev 将分支dev与当前分支进行合并

    git checkout dev 切换到本地dev分支

    git remote show 查看远程库

  4. SVN和Git用起来有什么区别,你推荐哪一个?
     1. GIT是分布式的,SVN不是
     2. GIT把内容按元数据方式存储,而SVN是按文件
     3. GIT分支和SVN的分支不同
     4. GIT没有一个全局的版本号,而SVN有
     5. GIT的内容完整性要优于SVN
     6. 综上所述,我更推荐使用Git来管理

  5. logback日志级别都有哪些?
    默认由低到高 trace < debug < info < warn < error,可以调整输出的日志级别,日志就只会在这个级别和更高级别生效。SpringBoot默认给我们使用的是info级别的,没有指定级别就使用默认级别的。

  6. slf4j, logback, log4j是什么关系?
    SpringBoot底层使用slf4j+logback的方式进行日志记录,如果使用其他的日志,SpringBoot会把其他的日志实现底层都替换为slf4j。log4j和logback是同一个作者写的日志,不过logback实现了slf4j,slf4j本身是一个日志门面,并不包含具体的实现

  7. 列举出常见的http请求方式
    GET、POST、DELETE、PUT等等

  8. 怎么读取自定义的配置项?用什么注解?怎么设置默认值?
     1. 如果我们需要读取单个自定义配置项,可以使用@Value注解 。例@Value("${test.hello}"),@Value注解支持SpEL。@Value("${test.hello:TEST}"),加上冒号可以设置默认值
     2. 如果我们是写了一个JavaBean来和配置文件进行映射,这时候就需要使用到@ConfigurationProperties注解来绑定配置项,它支持绑定多个属性配置项,支持松散绑定,还支持复杂类型的封装

  9. bootstrap和application配置有什么区别?
    Spring Cloud 构建于 Spring Boot 之上,在 Spring Boot 中有两种上下文,一种是 bootstrap, 另外一种是 application, bootstrap 是应用程序的父上下文,也就是说 bootstrap 加载优先于 applicaton。bootstrap 主要用于从额外的资源来加载配置信息,还可以在本地外部配置文件中解密属性。这两个上下文共用一个环境,它是任何Spring应用程序的外部属性的来源。bootstrap 里面的属性会优先加载,它们默认也不能被本地相同配置覆盖。

  10. 为什么引入SpringBoot内置依赖不需要加版本号?
    点开pom.xml中的spring-boot-starter-parent父项目就会发现,里面就指定了内置依赖的版本号,所以我们在导入SpringBoot内置依赖时不需要指定版本号,因为父项目已经帮我们指定了版本号。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值