当前位置:网站首页 > Java基础 > 正文

springboot要java基础吗



学习SpringBoot之前,你需要掌握的技术:Springmvc    mybatis mysql   maven Tomcat等等

一、什么是SpringBoot

Spring Boot 是由 Pivotal 团队提供的全新框架。Spring Boot 是所有基于 Spring Framework 5.0 开发的项目的起点。Spring Boot 的设计是为了让你尽可能快的跑起来 Spring 应用程序并且尽可能减少你的配置文件。

二、SpringBoot的好处

springboot要java基础吗

(1)可以创建独立的Spring应用程序,并且基于其Maven或Gradle插件,可以创建可执行的JARs和WARs;
(2)内嵌Tomcat或Jetty等Servlet容器;
(3)提供自动配置的“starter”项目对象模型(POMS)以简化Maven配置;
(4)尽可能自动配置Spring容器;
(5)提供准备好的特性,如指标、健康检查和外部化配置;
(6)绝对没有代码生成,不需要XML配置。

三、SpringBoot快速入门

1、准备条件

2、创建SpringBoot工程

没了spring不会写Java 没有spring基础,学springboot可以么_java

没了spring不会写Java 没有spring基础,学springboot可以么_mybatis_02

没了spring不会写Java 没有spring基础,学springboot可以么_mybatis_03

没了spring不会写Java 没有spring基础,学springboot可以么_java_04

经过上面的几步操作,一个最初始的SpringBoot项目就搭建好了。左侧菜单界面如下:

没了spring不会写Java 没有spring基础,学springboot可以么_没了spring不会写Java_05

3、快速启动一个SpringBoot工程

注意: SpringBoot的包扫描是自动的,他默认扫描主启动类所在的包以及其子包下的所有文件

所以我们需要把我们的代码写在他所在的包或者子包下。或者我们可以在主启动类的@SpringBootApplication注解后面通过注解的scanBacePackages属性设置包扫描的范围

没了spring不会写Java 没有spring基础,学springboot可以么_没了spring不会写Java_06

创建一个controller类,这里偷懒省略我们就不写service层和dao层那些东西了,这里业务代码直接写在controller里,主要目的是为了让大家快速实现一个简单的SpringBoot项目。

 

不要忘记加上@RestController注解(或者@Controller注解,这里的RestController是一个复合注解,包含了@ResponeBody注解和@Controller注解)。

启动SpringBoot工程并在浏览器中访问该路径

启动SpringBoot工程:

没了spring不会写Java 没有spring基础,学springboot可以么_mybatis_07

没了spring不会写Java 没有spring基础,学springboot可以么_没了spring不会写Java_08

打开我们的浏览器并访问:

没了spring不会写Java 没有spring基础,学springboot可以么_没了spring不会写Java_09

四、SpringBoot中的pom文件

 

五、SpringBoot中的两种配置文件

SpringBoot中的配置文件一共有两种,一种为我们创建完工程就能看到的application.properties文件,另一种则为application.yml文件。配置文件的命名必须以application开头。这两种文件都可以配置spring文件,二者的区别在于:① properties文件的优先级高于yml文件,如果两种配置文件都存在,配置不相同的部分,会合并在一起,不起冲突;配置相同的部分,最终SpringBoot会按照properties文件中的内容来处理。② 两个文件的写法格式不相同。

例如我们可以在配置文件中对端口号和基本路径进行修改,让两种配置文件都配置这两个部分,最终运行项目,springboot会按照properties文件中的配置来运行。

没了spring不会写Java 没有spring基础,学springboot可以么_java_10

六、读取SpringBoot配置文件种的内容

我们就不举一起比较复杂的例子了,就以实体类为例子。虽然给实体类赋值这种事情没有什么意义,但是目的是为了让大家能更容易理解如何读取配置文件中的内容。

首先我们创建一个实体类:

 

然后在我们的配置文件中配置我们的Student类中的属性值(yml文件为例)

 

在实体类上加上@PropertiesConfiguration注解和@Component注解

没了spring不会写Java 没有spring基础,学springboot可以么_没了spring不会写Java_11

在我们的controller里实验赋值是否成功。注意:只有将我们的Student交由我们的spring容器去创建时,才能为其赋值。让我们的controller自动注入我们的Student实体类

 

运行程序,输入访问路径

没了spring不会写Java 没有spring基础,学springboot可以么_java_12

可以看到,配置文件中的值成功赋给了我们的Student对象中。

另外一种读取配置文件的值的方法:@Value注解

读取配置文件中student.name的值:

 

运行,输入访问路径,读取成功

没了spring不会写Java 没有spring基础,学springboot可以么_spring boot_13

总结一波:

读取配置文件的值的方法有两种:

@Value 和    @PropertiesConfiguration

两种注解需要注意的地方:

1,如果配置是写在properties里面——只有Map不能取到

2,如果配置写在yml里面—— 数组 集合 都取不到

3,如果属性是使用驼峰命名法则不能使用属性名注入(例如:userName),要使用@Value("${student.user-name}")来取值,不能使用@Value("${student.userName}")来取值

七、profiles文件的介绍

在公司实际开发中,一个产品在最终上线之前,需要经过不止一种的环境。例如 开发环境->测试环境->线上环境。这么多的环境,每种环境下的配置也许各不相同,那我们总不能换一个环境就重写一次配置吧?所以,在实际工作中,针对不同的环境,我们会配置不同的配置文件,然后在总配置文件中激活相应的配置文件。spring.profiles.active=xxx(xxx为”application-“后面的内容,写谁就代表激活谁)

没了spring不会写Java 没有spring基础,学springboot可以么_java_14

八、SpringBoot注册web三大组件

web的三大组件:

Servlet    Filter       Linstener

这三个想必大家一定不太陌生。之所以我们要注册web的三个组件,是因为后面SpringBoot有可能集成第三方框架,而第三方框架可能就依赖于过滤器Filter或者Servlet,所以我们要先集成好。

8.1 注册Servlet

在使用SpringBoot之前,我们配置servlert都是在WEB-INF下的web.xml文件中进行注册的。

<servlet>
    <servlet-name></servlet-name>
    <servlet-class>Servlet类</servlet-class>
</servlet>
<servlet-mapping>
     <servlet-name></servlet-name>
     </url-parterrn>/</url-parterrn>
</servlet-mapping>

在SpringBoot中注册Servlet:

我们就自定义一个Servlet类就好了,未来我们都是注册第三方的Servlet,这里为了方便我们直接自定义一个非常简单的Servlet。

 

创建一个配置类。在SpringBoot中我们统一将配置类都放在config包下。

 

这样我们的Servlet就注册好了。这里面的每个属性的设置和之前在web.xml中设置的对应关系如下图所示:

没了spring不会写Java 没有spring基础,学springboot可以么_没了spring不会写Java_15

8.2 注册Filter

原理和注册Servlet相同。最后一个监听器我们用到的地方也很少,而且道理也是不经相同的,这里就不做解释了。

首先创建一个自定义的Filter类。未来也是要用第三方的Filter。

 

在刚才的WebConfig类中注册我们的Filter

版权声明


相关文章:

  • java版基础按键教程2024-11-10 18:02:01
  • java的基础代码做动漫人物2024-11-10 18:02:01
  • java 基础类型大小2024-11-10 18:02:01
  • java基础发展史2024-11-10 18:02:01
  • java8种基础数据2024-11-10 18:02:01
  • 粉笔java零基础就业2024-11-10 18:02:01
  • 有vf做基础学java2024-11-10 18:02:01
  • java基础和对象实例2024-11-10 18:02:01
  • java script零基础2024-11-10 18:02:01
  • 导入java基础包出错2024-11-10 18:02:01