SpringBoot入门

SpringBoot是什么?

Spring Boot它本身并不提供Spring框架的核心特性以及扩展功能,只是用于快速、敏捷地开发新一代基于Spring框架的应用程序。也就是说,它并不是用来替代Spring的解决方案,而是和Spring框架紧密结合用于提升Spring开发者体验的工具。

同时它集成了大量常用的第三方库配置(例如Jackson, JDBC, Mongo, Redis, Mail等等),Spring Boot应用中这些第三方库几乎可以零配置的开箱即用(out-of-the-box),大部分的Spring Boot应用都只需要非常少量的配置代码,开发者能够更加专注于业务逻辑

注1:敏捷式开发
注2:spring boot其实不是什么新的框架,它默认配置了很多框架的使用方式,
就像maven整合了所有的jar包,spring boot整合了所有的框架

idea的Springboot项目简单演示

如图:
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

选中最低版本
在这里插入图片描述

在这里插入图片描述
最后Next即可

注意事项

注1:包和类不能乱改,只能在com.zking.springboot01建子包,因为程序只加载Application.java所在包及其子包下的内容
com.zking.springboot01
controller
service
mapper
model

注2:内嵌的Tomcat

    1.使用内嵌Tomcat的好处
     内置: web应用之间互不影响(springcloud),
     外置:反之相互影响
      


      
    2.访问地址简化
      外置
      http://localhost:8080/mvc/xxx
      内置
      http://localhost:8080/xxx (  内置不需要项目名)

测试代码

在com.zking.springboot02下创建一个Controller包,controller包下再建一个HelloController类

看图:

在这里插入图片描述
注意:这里@RestController=@Controller+@ResponseBody

		@RestController
		public class HelloController {
		
		    @RequestMapping("/hello")
		    public String hello(){
		        return "hello springboot 你大爷";
		    }
		
		
		    @RequestMapping("/say1")
		    public String say1(String name){
		        return name + "say hello springboot 你大爷";
		    }
		
		    @RequestMapping("/say2/{name}")
		    public String say2(@PathVariable("name") String name){
		        return name + "say hello springboot 你大爷";
		    }
		
		    @RequestMapping("/json")
		    public Map returnJson(){
		        Map map = new HashMap();
		        map.put("success",true);
		        map.put("msg","恭喜你中奖了!!!");
		        return map;
		    }
		
		}

测试链接

http://localhost:8080/hello
http://localhost:8080/say1?name=张三
http://localhost:8080/say2/李四
http://localhost:8080/json

测试效果图:

在这里插入图片描述

效果2

在这里插入图片描述

效果3

在这里插入图片描述

效果4

在这里插入图片描述

springboot中的配置文件( 内置属性)

自带属性

注意:实际上项目开发的时候Port=80,Context-path=/,以下配置只为讲解相关知识点

找到如图:

在这里插入图片描述

1.默认时80端口,这里修改90,到时只要在访问路径中修改端口即可
例如:http://localhost:8080/hello 改为http://localhost:8089/hello ,否则报错。

2.也可在里面添加一个项目名,在图中设置端口下,添加server.servlet.context-path=/springboot,
访问时:http://localhost:8089/springboot/hello

3.小知识点,这样做比较看顺眼
在这里插入图片描述

自定义属性配置

4,我们自定义一个user

		 user:
		    uname: zs
		    pwd: 12345

在这里插入图片描述

在HellController中使用

	 @Value("${user.uname}")
	    private String uname;
	    @Value("${user.pwd}")
	    private String pwd;
	
	
	    @RequestMapping("/ces")
	    public Map ces(){
	        Map map = new HashMap();
	        map.put("uname",uname);
	        map.put("pwd",pwd);
	        return map;
	    }

在这里插入图片描述
这个配置有些idea可能出错,默认的就是80端口和 / ,所以删除即可。

		server:
		  servlet:
		    context-path: /
		  port: 80

属性封装类

一旦出现自定义属性过多,那么使用的时候会非常繁琐,那么我们会将自定义属性向上抽取进行封装。

5,如图这样,属性过多。的解决方法

在这里插入图片描述

1.1首先在pom.xml中插入

	<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-configuration-processor</artifactId>
		<optional>true</optional>
	</dependency>

1.2

在这里插入图片描述

1.3MysqlEntiy 类

		package com.zking.demo.configurationProperties;
		
		import lombok.Data;
		import org.springframework.boot.context.properties.ConfigurationProperties;
		import org.springframework.stereotype.Component;
		
		/**
		 * @author因果
		 * @site www.xiaomage.com
		 * @company xxx公司
		 * @create  2020-11-26 19:30
		 */
		@Component
		@Data
		@ConfigurationProperties(prefix = "user")
		public class MysqlEntiy {
		  private String  uname;
		  private String pwd;
		  private String  sex;
		  private String uage;
		    private String ded;
		    private String geda;
		}

1.4,在controller里

	 @Autowired
	    private MysqlEntiy mysqlEntiy;
	
	    @RequestMapping("/say4")
	    public MysqlEntiy say4(){
	        return mysqlEntiy;
	    }

最后测试效果图:

在这里插入图片描述

总结

springboot入门
创建,记得勾选稳定版本,中最低的,不然可能要加载很久。
创包,记住,必须在那个包下。
端口,默认

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值