springboot—(上)

springboot的概念以及特点

SpringBoot基于Spring4.0设计,不仅继承了Spring框架原有的优秀特性[IOC AOP DI],而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程。另外SpringBoot通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性等问题得到了很好的解决。

SpringBoot所具备的特征有:

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

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

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

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

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

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

springboot:—-为了简化spring工程的初始化搭建和开发过程。

快速搭建springboot工程

image.png

image.png

在主类所在的包下创建controller包并在该包下创建一个HelloController类

@RestController //标记改类为controller并且该类中所有方法的返回值为json格式。
public class HelloController {

    @GetMapping("hello")  //思考: 没有引入jackson依赖
    public Map<String,Object> hello(){
          Map<String,Object> map=new HashMap<>();
          map.put("name","李兵兵");
          map.put("age",26);
          return map;
    }
}

启动主函数

image.png

浏览访问HelloContnroller下的路径资源

image.png

了解pom.xml以及配置文件

pom.xml

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.3.12.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>

application.properties

#Tomcat 端口号[] KEY=VALUE

server.port=1314

# 设置工程的上下文路径

server.servlet.context-path=/cjj

springboot的配置文件种类

properties:属性文件类型: 格式 key=value格式

#Tomcat 端口号[] KEY=VALUE

server.port=1314

# 设置工程的上下文路径

server.servlet.context-path=/cjj

yml:文件类型: 格式:

#Tomcat 端口号[]
server:
  port: 2023
  servlet:
    context-path: //jungege

#如果yml和properties都存在相同的配置,则以properties为主, 如果两个配置文件的内部不同。则合并。#不管是哪种格式,他们的名称必须叫:application

java读取springboot配置文件的内容

比如:OSS文件上传。 需要: bucketName 密钥 id. 当时你们写死到类中。改为客户的。修改java源码。—交付的war文件。通过java代码读取配置文件里面的内容。

读取配置文件内容的方式:

第一种: @Value读取


@Value("${student.name}") //读取springboot配置文件中student.name对应的内容
 private String name;


 @Value("${student.age}")
 private Integer age;



 @Value("${student.address}")
 private String address;



 @GetMapping("index")
 public String index(){
     return "姓名:"+name+";年龄:"+age+";地址:"+address;
 }

第二种: @ConfigurationProperties(prefix=”前缀”) —类上

image.png

注意:第一种方式只能读取(基本类型和字符串类型) 第二种方式可以读取任意类型

server:
  servlet:
    context-path: /bbb


student:
  name: lisi
  age: 28
  address: zhengzhou
  hobby: # yml结构中数组类使用-表示一个元素
    - swing
    - eating
    - sleeping
  map:
    k1: v1
    k2: v2
    k3: v3

yml转propertieswww.toyaml.com/index.html

springboot多环境开发配置

环境: (1)开发环境 (2)测试环境 (3)生产环境【线上环境】

由于环境的不同,可能它们的配置也会不同。

(1)application-dev.properties

#针对关于开发的配置内容
server.port=8001

(2) application-test.properties

#针对关于测试环境的配置内容
server.port=8002

(3)application-online.properties

#针对关于线上环境的配置内容---
server.port=8003

application.properties

# 不同环境公共配置可以写在application
student.name=zhangsan
student.age=18
student.address=beijing
student.hobby[0]=swing
student.hobby[1]=eating
student.hobby[2]=sleeping
student.map.k1=v1
student.map.k2=v2
student.map.k3=v3
#激活相应的环境配置---每个环境的文件配置名必须:application-xxx.properties
spring.profiles.active=dev

注册servlet到springboot内置tomcat中

(1)创建一个servlet类

public class MyServlet extends HttpServlet {


    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
    }



    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {


        System.out.println("************************************************");
    }
}

(2)创建一个配置类

package com.ykq.qy165springboot01.config;


import com.ykq.qy165springboot01.servlet.MyServlet;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;



import javax.servlet.http.HttpServlet;

@Configuration //等价于xml配置文件
public class MyConfig {

    @Bean  //等价于xml配置文件<bean/>   ServletRegistrationBean该类用于注册servlet到tomcat容器中
    public ServletRegistrationBean<HttpServlet> registrationBean(){
         ServletRegistrationBean<HttpServlet> registrationBean=new ServletRegistrationBean<>();
         registrationBean.setName("my");
         registrationBean.setServlet(new MyServlet());
         registrationBean.addUrlMappings("/my");
         return registrationBean;
    }

}

(3)测试

image.png

© 版权声明
THE END
喜欢就支持一下吧
点赞0

Warning: mysqli_query(): (HY000/3): Error writing file '/tmp/MYpd5f3I' (Errcode: 28 - No space left on device) in /www/wwwroot/583.cn/wp-includes/class-wpdb.php on line 2345
admin的头像-五八三
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

图形验证码
取消
昵称代码图片