IDEA Springboot 乱七八糟笔记

Spring和Springboot

Spring框架
通过控制反转(IoC)、依赖注入(DI)的概念解耦应用组件。适用范围范围:任何Java应用
Spring框架为开发Java应用程序提供了全面的基础架构支持。它包含一些很好的功能,如依赖注入和开箱即用的模块。

SpringMVC
MVC:Model-View-Controller (模型-视图-控制器),一种软件设计模式
SpringMVC:Spring框架带了MVC组件。

Springboot
Spring框架下有各种各样MVC这种的小框架,Springboot把他们都整合起来,方便你配置。
Spring Boot基本上是Spring框架的扩展,它消除了设置Spring应用程序所需的XML配置,为更快,更高效的开发生态系统铺平了道路。比如内嵌了Tomcat!

Maven

Apache 下的一个纯 Java 开发的开源项目,是一个项目管理工具,方便引入各种依赖。
pom.xml自动导入依赖。
注意配置Repository路径。
IDEA:File>Settings>Build,Execution,Deployment>Build Tools>Maven

通过Maven引入依赖。

Spring创建Web应用程序所需的最小依赖项

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-web</artifactId>
    <version>5.1.0.RELEASE</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>5.1.0.RELEASE</version>
</dependency>

Spring Boot只需要一个依赖项来启动和运行Web应用程序

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

服务器

  1. Apache与Tomcat都是Apache开源组织开发的用于处理HTTP服务的项目。
  2. Apache服务器 只处理 静态HTML。
  3. Tomcat专门用于Java Web。相当于一个可独立运行的servlet容器。
  4. Springboot内嵌了Tomcat,不需要自己配置。

Tomcat目录

webapps文件夹:
tomcat下的webapps是用来存放运行工程的目录。

war包是JavaWeb程序打的包,war包里面包括写的代码编译成的class文件,依赖的包,配置文件,所有的网站页面,包括html,jsp等等。一个war包可以理解为是一个web项目,里面是项目的所有东西。

以Tomcat来说,将war包放置在其\webapps\目录下,然后启动Tomcat,这个包就会自动解压,就相当于发布了。

IDEA Project Structure

Modules IDEA需要设置哪个文件夹是src之类的(只有src文件夹可以新建Java Class)。

扫描二维码关注公众号,回复: 10474080 查看本文章

Facets 表述了在Module中使用的各种各样的框架、技术和语言。这些Facets让Intellij IDEA知道怎么对待module内容,并保证与相应的框架和语言保持一致。;

Artifacts 是maven中的一个概念,表示某个module要如何打包,例如war exploded、war、jar、ear等等这种打包形式;一个module有了 Artifacts 就可以部署到应用服务器中了!

  1. web application exploded:这个是以文件夹形式发布项目,发布项目时就会自动生成文件夹在指定的output directory。
  2. web application archive:就是war包形式,将项目打成一个war包在指定位置。

启动类

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

@SpringBootApplication:申明让spring boot自动给程序进行必要的配置

DemoApplication类执行main方法,main方法调用SpringApplication的run方法。

run方法干了两件事:

创建SpringApplication对象。
当Web服务器启动时,Web服务器会自动创建一个application对象。application对象一旦创建,它将一直存在,直到Web服务器关闭。

利用创建好的SpringApplication对象调用run方法。
SpringApplication.run(MySpringConfigurationApp.class, args);

第一个参数MySpringConfigurationApp.class是项目入口的类,传给SpringApplication用来构造application对象的。
public SpringApplication(ResourceLoader resourceLoader, Class<?>… primarySources)

SpringApplication.run()详解

控制器类

@Controller:用于定义控制器类,在spring项目中由控制器负责将用户发来的URL请求转发到对应的服务接口(service层),一般这个注解在类中,通常方法需要配合注解@RequestMapping。
使用@Controller 注解,在对应的方法上,视图解析器可以解析return 的jsp,html页面,并且跳转到相应页面。
若返回json等内容到页面,则需要加@ResponseBody注解

@RequestMapping:提供路由信息,负责URL到Controller中的具体函数的映射。

@RestController 相当于@Controller+@ResponseBody两个注解的结合,返回json数据不需要在方法前面加@ResponseBody注解了,但使用@RestController这个注解,就不能返回jsp,html页面,视图解析器无法解析jsp,html页面

Hello World

@RestController
public class TestController {
    @RequestMapping("/")
    public String helloworld(){
        return "Hello World ";
    }
}
发布了36 篇原创文章 · 获赞 0 · 访问量 1776

猜你喜欢

转载自blog.csdn.net/Oneiro_qinyue/article/details/102953022