首页 > 其他分享 >SpringBoot初体验

SpringBoot初体验

时间:2023-08-18 09:11:18浏览次数:36  
标签:初体验 SpringBoot Value public user class 搭建

1.何为SpringBoot

简单理解:是集成于spring的优点继而简化spring配置

SpringBoot简化了整个搭建与开发的过程

当然,其通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性等问题得到了很好的解决。

2.springboot优势

(1)可以创建独立的Spring应用程序,并且基于其MavenGradle插件,可以创建可执行的JARs和WARs;

(2)内嵌Tomcat或Jetty等Servlet容器;

(3)提供自动配置的“starter”项目对象模型(POMS)以简化Maven配置;

(4)尽可能自动配置Spring容器;

(5)提供准备好的特性,如指标、健康检查和外部化配置;

(6)绝对没有代码生成,不需要XML配置。

3.使用SpringBoot搭建工程

搭建工程有两种方式:

3.1 联网一键搭建SpringBoot工程

新建工程

然后直接点击Next:

然后点击Create进行搭建,第一次使用时间会长一些

等搭建好之后,就会程现以下内容:

那么,咱们现在就开始使用SpringBoot工程写上第一个程序叭!

3.1.1 Hello Word

创建Controller层,并新建HelloController类

如同spring中的Controller层一致

@RestController
public class HelloWordController {
    
    @RequestMapping("/HelloWord")
    public String HelloWord(){
        return "HelloWord!!!";
    }
}

【注:由于SpringBoot内置TomCat,不需要自己布置】

【注: controller包必须在主启动类所在包下。 默认扫描的包为主启动类所在的包。】

找到主启动类,右键运行:

启动成功,地址为localhost:8080/

端口号默认8080

在浏览器输入此地址加上

成功运行!!

3.2 Maven搭建SpringBoot工程

3.2.1 新建一个maven工程项目,过程这里不在演示

3.2.2 在pom文件中继承父工程,以及引入web启动依赖

<!--继承父工程-->
<parent>
    <artifactId>spring-boot-starter-parent</artifactId>
    <groupId>org.springframework.boot</groupId>
    <version>2.7.5</version>
</parent>
<groupId>com.aaa</groupId>
<artifactId>SpringBootMaven</artifactId>
<version>1.0-SNAPSHOT</version>

<!--引入web启动依赖-->
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>

3.2.3 创建主启动类

【注:主启动类的名称随便写,最主要的就是】@SpringBootApplication

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

【注:主启动类一定要放在你创建的包名之下】

3.2.3 创建一个springboot配置文件--application.properties

一切搭建好后再次创建controller层写HelloWord测试

运行成功!!!

4.javaSpringBoot配置文件种类

其有二

4.1 其一·后缀以.properties

application.properties

语法格式主要以key=value的形式

4.2 其二·后缀以.yml

4.2.1 yml数组形式

【注:yml格式有严格要求】

【注:父类与子类之间要有层级】

【注:属性冒号后要空一格,否则会报错】

5.java读取SpringBoot配置文件中的内容

其有二

5.1 其一·利用@Value

在controller层定义三个属性对象,且用@Value注解读取配置文件内容注入到对象中

@Value("${user.names}")
private String name;
@Value("${user.age}")
private Integer age;
@Value("${user.hobby}")
private String hobby;
@RequestMapping("/test")
public String test(){
    return name+","+age+","+hobby;
}

运行测试:

【注:这里有个缺陷,@Value只能注入基本数据类型,其他的注入不了,很遗憾】

5.2 其二·利用@ConfigurationProperties

@ConfigurationProperties(prefix = "前缀")

其使用方式的是利用注入实体类实现

新建实体类并声明配置文件中所对应的属性

且在controller层中声明对象user

@Autowired
private user user;
@RequestMapping("/test2")
public user test2(){
    return user;
}

测试运行:(结果可见)

6.springboot注册web组件

6.1 注册自定义Servlet

新建servlet类并实现doGet与doPoet方法

public class MyServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("打印doGet方法");
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("打印doPOST方法");
    }
}

新建config包,里面存放各种配置且新建ServletConfig

把自定义的Servlet注册到内置tomcat中

@Configuration
public class ServletConfig {
@Bean
    public ServletRegistrationBean<Servlet> registrationBean(){
        ServletRegistrationBean<Servlet> servletServletRegistrationBean = new ServletRegistrationBean<>();
        servletServletRegistrationBean.setServlet(new MyServlet());
        servletServletRegistrationBean.setName("MyServlet");
        servletServletRegistrationBean.addUrlMappings("/MyServlet");//当访问此处时,就会走此处方法
        return servletServletRegistrationBean;
    }
}

测试运行:

注册成功!!!

【注:一定不要忘了加@Bean,否则可打印不出来】

6.2 注册自定义过滤器

新建Filter类并实现doFilte方法

 

public class MyFilter implements Filter {
    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        System.out.println("经过了过滤器++++++");
    }
}

可以再次新建一个FilterConfig类,但是这里为了方便就继续在ServletConfig中演示

此时将Filter注册

@Bean
public FilterRegistrationBean<Filter> filterRegistrationBean(){
    FilterRegistrationBean<Filter> filterFilterRegistrationBean = new FilterRegistrationBean<>();
    filterFilterRegistrationBean.setFilter(new MyFilter());
    filterFilterRegistrationBean.setName("MyFilter");
    filterFilterRegistrationBean.addUrlPatterns("/*");
    return filterFilterRegistrationBean;
}

此时,访问任何页面都将会被拦截

没有打印内容是因为被拦截器拦截了,这里可以对其放行

到MyFilter类中添加放行

public class MyFilter implements Filter {
    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        filterChain.doFilter(servletRequest,servletResponse);//放行资源
        System.out.println("经过了过滤器++++++");
    }
}

继续测试:

放行成功


 以上便是SpringBoot中的部分内容,如有漏缺请在下方留言告知,我会及时补充

标签:初体验,SpringBoot,Value,public,user,class,搭建
From: https://www.cnblogs.com/9--1/p/17638631.html

相关文章

  • springboot综合案例综合案例第五课
    角色管理角色查询角色查询直接查询即可角色查询执行流程编写RoleMapper接口publicinterfaceRoleMapper{/***查询角色*/List<Role>findAll();}编写RoleServicepublicinterfaceRoleService{/***查询角色*@parampage......
  • 有关springboot的一些理解
    springboot概念springboot是spring项目的脚手架,其能够快速构建spring项目,不再需要一些对应用程序的xml文件配置,其自带许多硬件设备的驱动。其核心是约定大于配置理念,即减少人为配置,尽量采用默认的配置即可。例如,不同于单独的springMVC,其默认配置了包括tomcat服务器,视图解析器等......
  • SpringBoot+Mybatis-Plus+Mysql的保姆级搭建
    本文通过简单的示例代码和说明,让读者能够了解Mybatis-Plus+Mysql的简单使用必须说明的是,本文有部分内容是为了后续的微服务写的,所以如果只想用Mybatis-Plus的话,直接使用bank1项目即可 1.新建父项目,选用springinitializr即可,可以删除其他文件,仅仅留下pom文件当成父pom。修改......
  • SpringBoot操作前端传的Geojson进行空间查询
    SpringBoot操作前端传的Geojson进行空间查询项目说明:项目技术栈:SpringBoot+MybatisPlus+postgresql先上查询SQLSELECT*FROMdemoWHEREST_Intersects(geom,ST_GeomFromGeoJSON('放geojson类型数据'));表结构Controller层packagecom.itcy.postgresql.controller;importco......
  • RabbitMQ与SpringBoot 集成
    1、添加依赖<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId></dependency> 2、添加配置官方配置https://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/h......
  • springboot集成cas
    CAS介绍CAS是CentralAuthenticationService的缩写,中央认证服务,一种独立开放指令协议。CAS是耶鲁大学(YaleUniversity)发起的一个开源项目,旨在为Web应用系统提供一种可靠的单点登录方法,CAS在2004年12月正式成为JA-SIG的一个项目。特点:开源的企业级单点登录解决方案......
  • IDEA社区版+SpringBoot+MyBatisPLus+MySQL实现数据库的保存、查询、修改操作
    一、概述使用IDEA社区+SpringBoot+MyBatisPlus+MySQL实现数据的保存修改与查询。主要记录一下踩坑过程。注意事项:1.社区版IDEA并不能直接创建SpringBoot工程,所以我采用的方式是在Spring官网上,让其帮助我创建一个,创建好后,直接下载。//参考案例https://blog.csd......
  • 【13章】SpringBoot打造企业级一体化SaaS系统
    课程下载——【13章】SpringBoot打造企业级一体化SaaS系统提取码:y8v1 分享课程——【13章】SpringBoot打造企业级一体化SaaS系统,附源码。课程中整合后端主流技术(SpringBoot、物理数据库隔离、加载动态权限、多方式权限控制)、前端必会框架(vue3),完整落地ERP+CRM一体化SaaS系统,带......
  • Springboot 转化器
    Springboot提供了很多转化器:其中有ApplicationConversionService:extendsFormattingConversionService。 publicstaticvoidaddApplicationConverters(ConverterRegistryregistry){ addDelimitedStringConverters(registry); registry.addConverter(newStringToDurationC......
  • java springboot excel 上传
    spring.http.multipart.location=/data/server/upload/spring.http.multipart.max-file-size=2048MBspring.http.multipart.max-request-size=2048MBimportjava.io.File;importjavax.servlet.MultipartConfigElement;importorg.springframework.beans.factory.ann......