陈世涛:SpringBoot入门

陈世涛:SpringBoot学习笔记

1.环境配置

先做完maven的相关配置,详见以下内容!

 1.maven服务仓库已经设置好!设置文件为C:\maven放在C盘根目录下\apache-maven-3.5.2\conf的setting.xml!
    为了提高maven中央仓库的下载速度,更改中央仓库为国内的阿里云maven中央仓库的方法是,在setting.xml中的merrors下添加如下代码
        <!--更改maven中央仓库的地址为阿里云maven-->
    <mirror>
      <id>nexus-aliyun</id>
      <mirrorOf>central</mirrorOf>
      <name>Nexus aliyun</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public</url>
    </mirror>
 2.环境变量设置:我的电脑-右键属性-高级系统设置-环境变量!
      注意配置maven环境变量之前必须先设置了java的环境变量!
     系统变量栏中新建变量名:MAVEN_HOME,变量值:C:\apache-maven-3.5.2。
     然后新加到path中:%MAVEN_HOME%\bin
 3.helloword例子实验:cmd进入命令运行界面,
     (0)查看mvn是否安装配置好?:mvn - v
     (1)输入 cd C:\maven-helloworld
     (2) 再次输入c:   
     (3)清除target(编译文件)文件夹实验,输入命令:mvn clean
     (4)生成target(编译文件)文件夹实验,输入命令:mvn compile
       (5) 生成Test文件,编译测试代码,输入命令:mvn test
     (6)打包文件为 .war,输入命令:mvn package
              备注:打成war包或jar包主要是在pom.xml文件里进行设置的:                       <packaging>war</packaging>
            以上文件变化体现在target文件夹的变化上。
     (7)将项目文件安装到本地仓库,命令:mvn install
              执行后发现:C:\maven_repository路径下多了一个cn文件夹,里面有war包!
              备注:该命令执行了3.4.5.6所有的操作,然后又把包放在了本地仓库!
 4.maven生命周期包括
       (1)编译 :(最好先mvn clean)mvn compile
       (2)测试:mvn test
       (3)打包:mvn package
       (4)安装:mvn install
       (5)发布:(预先先配置)mvn deploy
        备注:后面命令执行时,会把前面的命令自动执行一遍!

 5.以下是对初次使用IDEA软件时候的一些设置:
     (1)在初始界面下侧点击“Configure”选择“Project Default”选择“Setting”进入Default Settings界面,
             菜单“Build,Excecution,Deployment”下选择Buid Tools下点击“Maven”。
             (a)Maven home directory:C:/apache-maven-3.5.2
              (b)   User settings files:C:\apache-maven-3.5.2\conf\settings.xml      对号Override
             (c)Local repositiory :  C:\maven_repository       对号Override
       (2)  Maven 菜单下选择“Runner”,配置作用:为了确保在不联网的情况下也可以正常使用Maven创建工程!
                VM Options: -DarchetypeCatalog=internal
  6.使用IDEA点击创建工程,在左侧选择maven,右侧选择骨架(模板),要使用骨架必须联网或者本地已经下载好了骨架,
     如果要使用骨架需要把  “Create from archetype”前的对号打上,创建java工程的时候选择org.apache.maven.archetypes
 :maven-archetype-quickstart,进入下一个界面:GroupId:“公司的名字,如:cn.itcast”,ArtifactId:项目工程名字。
     再下一步,会看到再次确定当前使用的配置。进入项目,会自动下载文件,使能自动下载!
 7.补全文件目录
    (1)在main文件右键新建directory 写入名字“resources”
     (2)在新建的文件夹右键选择“Mark Directory as”-----"Resources Root"
     (3)在改文件夹下就可以建配置文件了
 8.不适用骨架的时候怎样用IDEA创建工程?
     (1)创建新工程
       (2)左侧选择“maven”,右侧不选
         (3)填写当前项目的坐标,“公司名字”“项目名字”,下一步
          (4)默认路径直接 Finish,最后发现,除了给定的"hello word" 没有,其他的都有,反而方便了很多。
              (5)java工程推荐“不适用骨架”!
 9.如何构建一个“javaweb”项目
                (1)其他的都一样,只是骨架选择“Org.apache.maven.archetypes:maven-archetype-webapp”
 10.Maven跳转的servlet,例子:
                      (1)进入项目界面,新建“java”文件夹目录,
                             (a)在“main”上右键选择新建“Derictory”,名字为“java”
                             (b)java上右键选择“Mark Derictory As” ----“Source Root”
                       (2)在新建的文件夹下再加一个“servlet”文件夹,右键新建“servlet”,会发现没有“servlet”选项,
                             是因为“pom.xml”中没有写入依赖,需要添加,
                            <dependency>
                       2..................<groupId>javax.servlet</groupId>
                      1.............. <artifactId>servlet-api</artifactId>
                      3................ <version>2.5</version>
                                   </dependency>
              <!--自动提示很方便-->
                      (3)新建servlet
                         GET:
                         request.getRequestDispatcher("/hello.jsp").forward(request,response);
                         POST:
                          doGet(request,response);
                      (3)更改xml
     
                            <servlet>
                         <servlet-name>mybigServlet</servlet-name>
                        <servlet-class>cn.itcast.servlet.mybigServlet</servlet-class>
                        </servlet>
                         <servlet-mapping>
                           <servlet-name>mybigServlet</servlet-name>
                         <url-pattern>/</url-pattern>
                          </servlet-mapping>
                  
                       (4)在右侧“Maven Projects”中运行“clean”
                               三钉耙里运行“tomcat:run”
                         (5)提示错误:“Starting Servlet Engine: Apache Tomcat/6.0.29”
                             提示是用的Tomcat6启动的项目,我们用Tomcat:run启动项目时,默认的就是Tomcat6                            启动,可是我用下载的Tomcat8,这时候就要在pom.xml文件中添加Tomcat8的依赖。
                         
   10.关于tomacat,maven自带的是Tomcat6版本的,可以使用tomcat7插件
                  <plugin>
       <groupId>org.apache.tomcat.maven</groupId>
       <artifactId>tomcat7-maven-plugin</artifactId>
       <version>2.2</version>
       <configuration>
         <port>8888</port>  
       </configuration>
     </plugin>
    java编译环境插件
         <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-compiler-plugin</artifactId>
           <configuration>
             <target>1.8</target>
             <source>1.8</source>
             <encoding>UTF-8</encoding>
           </configuration>
         </plugin>
       如果使用tomcat8以后的版本,特别麻烦,maven中央仓库中没有提供高版本的jar包,网上使用了很多方法,但没有成功!放弃!
 11.如何创建动态模板,用于快速输入,适用于其他编程。
      【file】-【settings】-“搜索【live】”-选择【Live Templates】--右侧【+】--【Template Group】新建模板组--点中模板组名字--右侧【+】新建模板--Abbreviation【缩写】中填上名字--在【Template text】中填写代码,在下面的【Define】中选择什么文件中可以调用。
在profiles文件夹下填写如下内容:
    <profile>
      <id>jdk-1.8</id>

      <activation>
        <activeByDefault>true</activeByDefault>
        <jdk>1.8</jdk>
      </activation>
       <properties>
         <maven.compiler.source>1.8</maven.compiler.source>
         <maven.compiler.target>1.8</maven.compiler.target>
         <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
       </properties>
    </profile>

2.IDEA配置

1.Maven相关的配置如上面所述!

3.HelloWorld

1.新建项目

还是使用上面的方法新建一个maven项目,右侧选择**web

2.补全项目结构

​ 1.src下新建test目录,并建子目录java(应用为test -source…)和 resources(应用为test-resources)

​ 2.在现有的main文件夹下新建子目录java(应用为source…)和 resources(应用为resources)

3.编辑pom文件

​ 1.后添加,集成父

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.6.RELEASE</version>
    </parent>

​ 2.里添加依赖


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

3.对【starter】的解释

starters:启动器

​ springboot-starter-XXXX starters是一组方便的依赖关系描述符,方便自动导入,是对原maven的升级和简化

4.建立helloword类

1.在webapp下建立com.shenhua包,在该包里新建类,取名“application”,写入以下代码!

package com.shenhua;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

//开启自动配置的注解,初始化spring和spring MVC环境
@EnableAutoConfiguration
//控制类注解
@RestController
//控制类
public class application {
    public static void main(String[] args) {
//        以下是Spring的应用类,用来情动SpringBoot,是一个Web容器
//        参数1:传入入口类的类对象   参数2:main函数的参数
        SpringApplication.run(application.class,args);
    }
    //基于Spring MVC controler的一个方法
    @GetMapping("/hello")
    public String hello(){
        System.out.println("hello SpringBoot!!!");
        return "hello world!";
    }
}

2.备注

(1)在写这句时出现问题,SpringApplication.run(application.class,args);里面的application指的是本函数的名字,而不是其他,无需import。

(2)直接运行方法!

(3)在浏览器中输入: http://localhost:8080/hello ,查看运行效果!

5.控制类和入口类剥离做法

1.在main->java->com->shenhua文件夹下新建一个文件夹:controler

2.在controler中新建一个类:HelloControler.java

package com.shenhua.controller;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("hello")
public class helloCtroller {
    //基于Spring MVC controler的一个方法
    @GetMapping("/hello")
    public String hello(){
        System.out.println("hello SpringBoot!!!");
        return "hello world!";
    }
}

3.原来application文件里的内容为

package com.shenhua;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.context.annotation.ComponentScan;
//开启自动配置的注解
@EnableAutoConfiguration
//扫描注解的注解,扫描范围为本层目录或本层文件夹里的内容
@ComponentScan
public class application {
    public static void main(String[] args) {
        //        以下是Spring的应用类,用来情动SpringBoot,是一个Web容器
//        参数1:传入入口类的类对象   参数2:main函数的参数
        SpringApplication.run(application.class,args);
    }
}

6.yml配置文件的应用

1.在main->resources文件夹下建立application.yml

server:
  port: 8989     #修改内嵌tomcat容器的端口号
  servlet:
    context-path: /aaa   #指定当前应用在部署到内嵌容器中的项目名

2.这样项目的访问路径就变为

http://localhost:8989/aaa/hello/hello

7.Properties配置文件的应用

1.因为yml容易出错,所以以后用Properties的形式进行配置

4.常用注解

1.注解的解释

  1. @EnableAutoConfiguration:开启自动配置 修饰范围:只能用在类上

    实际作用:根据pom文件自动判断,会自动根据引入的依赖构建相关的环境spring环境和web容器环境

  2. @ComponentScan:作用:用来开启注解扫描,修饰范围“只能用在类上。默认范围:默认当前包以及当前包下的子包

  3. @RestController:作用:用来实例化当前对象为一个控制器对象,并将类上所有方法的返回值转为json,响应给浏览器。修饰范围:用在类上

    @Controller(实例化当前类为一个控制器)+@ResponseBody(用来将当前方法返回值转为json,响应给浏览器)

  4. @RequestMapping:作用:用来加入访问路径,修饰范围:类(加入命名空间)方法上(指定具体路径)

    @GetMapping:作用:限制请求方式只能是GET,并制定路径,修饰范围:方法上

    @PostMapping:作用:想定请求方式只能是POST,并指定路径 修饰范围:方法上

5.打成jar包或者war包

1.导入插件和配置

1.如下图所示的位置添加插件

  <build>
    <finalName>day1</finalName>
    <plugins>
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
      </plugin>
    </plugins>

添加插件之后,在右侧的maven工程管理里,刷新,在【plugin】里会多一个【spring-boot】的插件。

2.修改pom文件

如果工程为web工程的话,需要做以下更改,把war换成jar

原来的:

  <groupId>shenhua</groupId>
  <artifactId>day1</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>war</packaging>

修改后的:

  <groupId>shenhua</groupId>
  <artifactId>day1</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>jar</packaging>

2.执行打包操作

在右侧maven栏下,找到【Lifecycle】生命周期,点击【package】,执行打包操作。

在左侧的项目结构目录中的【target】中就会看到jar文件了。

3.IDEA中运行jar包并访问

在IDEA最下面选择【Terminal】运行DOS命令

E:\CST\Maven\a3>cd target

E:\CST\Maven\a3\target>java -jar day1.jar

访问

http://localhost:8989/aaa/hello/hello

4.Windows中运行jar包的方法

前提是系统配置了java环境!

方法1.简便方法

1.找到jar包位置

2.先摁着【shift】,鼠标指针移到jar文件上,右键,选择在powershell中打开项目,win10和其他系统或许不一样。

方法2.常规方法

1.cmd打开Dos 按enter

2.输入E: 按enter

3.输入cd CST\Maven\a3\target 按enter

4.java -jar day1.jar

5.访问

http://localhost:8989/aaa/hello/hello

6.结束

直接关闭窗口就OK了

6.SpringBoot标准开发方式

1.其他的配置不变,知识写入口函数是的注解换成了一个组合注解,简化了写注解的难度!

package com.shenhua;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
开启自动配置的注解
//@EnableAutoConfiguration
扫描注解的注解,扫描范围为本层目录或本层文件夹里的内容
//@ComponentScan
@SpringBootApplication
public class application {
    public static void main(String[] args) {
        //        以下是Spring的应用类,用来情动SpringBoot,是一个Web容器
//        参数1:传入入口类的类对象   参数2:main函数的参数
        SpringApplication.run(application.class,args);
    }
}

7.管理自定义的类

springboot提供两种方式来管理自定义的类(对象),一种是基于java配置方式——javaconfig(推荐使用),另一种通过传统的xml的配置——xmlconfig

1.javaconfig方式

通过给自定义的java类添加注解的方式来管理自定义的javaclass

方法是:

1.先给自建的javaclass添加 @Configuration()(翻译:结构构造配置)

2.通过**@ComponentScan**注解扫描注解,加以利用

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值