SpringBoot入门

创建项目

各位老铁:

先检查Maven,重要事情说三遍!!!

步骤如下:

1.  如果你不小心进入了工程,那么请你大胆地退出来,我们要查看或设置全局的,不要小家子气概。

2.      我们要“Settings”

3.在这里认真配置,万无一失。

再检查JDK,麻烦要1.8的版本!!!重要事情看三遍。

下面这个图点不出,我也是服了你。

再弹出的框中如下设置,JDK你放在哪里就不用问别人了吧?

准备就绪,创建SpringBoot项目,创建的方式我知道的有三种:

第一种:进网站配置一下,下载一个项目,用IDEA打开。

第二种:创建一个maven web项目自己加依赖。

第三种:创建一个SpringBoot项目。

三种我都试过了,感兴趣的老铁可以自己去研究,网上资料不少,相信难不倒你。

有些电脑创建Module卡得死,百度一下有答案,以前学生遇到过问过我。

主要介绍第三种方式:简单易学

步骤开始:

1.创建一个Module

2.配置GAV

3.选择常用依赖

 

后面的界面凭感觉就知道点什么,就不截图了。

最后我们要看到如下的项目结构:

我们先跑起来,跑起来!!!由于8080端口被占用,我们要改端口,咋整?

我们要配置猫吗?不用,SpringBoot自带。

我们怎么启动?

静静等待:以下图片可以改,之前玩过改成了LOVE,不想整了,有兴趣网上查自己弄。

访问一下:啥玩意?你们猜

接下来就是分析它们都是些啥,我们怎么干?

 

扩展知识:(了解)

翻译:默认情况下,Spring Boot从类路径中的/static(或/public或/resources或/META-INF/resources)目录或ServletContext的根目录中提供静态内容。它使用来自Spring MVC的ResourceHttpRequestHandler,因此您可以通过添加自己的WebMvcConfigurer并覆盖addResourceHandlers方法来修改该行为。

 

       之前写程序的时候发现不能直接访问/templates/文件夹下的html文件,原来是springboot并没有在启动的时候将/templates/文件夹映射成静态资源文件夹,所以访问html文件的是后报Http 404的错误。

 

By default, Spring Boot serves static content from a directory called /static 

(or /public or /resources or /META-INF/resources) in the classpath or from the root of the ServletContext. It uses the ResourceHttpRequestHandler from Spring MVC so that you can modify that behavior by adding your own 

WebMvcConfigurerand overridingthe addResourceHandlers method.

 

public class ResourceProperties {

    private static final String[] CLASSPATH_RESOURCE_LOCATIONS = new String[]{"classpath:/META-INF/resources/", "classpath:/resources/", "classpath:/static/", "classpath:/public/"};

    private String[] staticLocations;

    private boolean addMappings;

    private final ResourceProperties.Chain chain;

    private final ResourceProperties.Cache cache;

 

    public ResourceProperties() {

        this.staticLocations = CLASSPATH_RESOURCE_LOCATIONS;

        this.addMappings = true;

        this.chain = new ResourceProperties.Chain();

        this.cache = new ResourceProperties.Cache();

    }

 

    public String[] getStaticLocations() {

        return this.staticLocations;

    }

 

    public void setStaticLocations(String[] staticLocations) {

        this.staticLocations = this.appendSlashIfNecessary(staticLocations);

    }

 

需要在application.properties或application.yml中加入以下代码,即可访问templates中的html文件,覆盖默认加载项

spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,classpath:/templates

 

 

 

基础知识点

基本注解学习:

第二种启动应用方式:

 进入项目

最终如下

访问:

ctrl+C中止

 

第三种启动应用方式:

mvn install

dir查看进入target目录下

 

 

效果如下

 

二、属性文件学习

properties

yml/yaml(缩进)https://www.toyaml.com/index.html

  1. 如何读取文件中的值

jdbc_url: jdbc:mysql://127.0.0.1:3306/s3project?characterEncoding=UTF-8
jdbc_drvier: com.mysql.jdbc.Driver
jdbc_name: root
jdbc_pwd: 52Java

用Value注解

RestController=Controller+ResponseBody

@Value("${jdbc_url")

 

配置中使用配置

  1. 如何读取实体中的值

实体要注解:

@Component

@ConfigurationProperties(prefix = "user")
Application.properties中配置

Controller中使用,注入bean

@Resource

private User user;
  1. 如何读取不同属性文件

开发环境、生产环境不同配置

配置2套:apple   苹果

application.properties中

 

https://www.toyaml.com/index.html   

如何用命令参数启动?先停掉猫

过入工程目录

mvn install

java -jar java83-1-0.0.1-SNAPSHOT.jar --spring.profiles.active=mysql

 

三、控制器

Controller的使用

接收用户请求

 

如何跳页面

采用模板技术

        <dependency>

            <groupId>org.springframework.boot</groupId>

            <artifactId>spring-boot-starter-thymeleaf</artifactId>

        </dependency>

 

//如何返回一个页面
@RequestMapping(value = "/list",method = RequestMethod.GET)
public String list(){
    return "list";
}

 

FreeMarker模板

1.pom.xml添加依赖

2.application.properties配置freemarker的后缀

3.创建ftl文件

4.创建控制层访问路径

5.启动并测试

 

 

@RequestMapping使用

写在类上

写在方法上

为一个结果配置多个请求路径

 第一种:

 

把GET改成POST

怎么测试:用插件postman

 

 

第二种

第三种

 

 

小技艺

不写id,默认为1

四、数据库操作

Spring-data-JPA    底层用的Hibernate

RestFul风格  API设计 

前台 调用,请求路径,xml,json

后台RestFul接口

 

 

添加两个组件

        <!-- jpa-->

        <dependency>

            <groupId>org.springframework.boot</groupId>

            <artifactId>spring-boot-starter-data-jpa</artifactId>

        </dependency>

        <!---mysql-->

        <dependency>

            <groupId>mysql</groupId>

            <artifactId>mysql-connector-java</artifactId>

        </dependency>

配置数据源和jpa

datasource:

  driver-class-name: com.mysql.jdbc.Driver

  url: jdbc:mysql://127.0.0.1:3306/hibernate?characterEncoding=UTF-8

  username: root

  password: 52Java

jpa:

  hibernate:

    ddl-auto: create

  show-sql: true

  database-platform: org.hibernate.dialect.MySQL5InnoDBDialect  #不加这句则默认为myisam引擎

由类生成表

开发接口

继承JapRepository<T,Integer>

public interface BookDao extends JpaRepository<Book,Integer> {

}

 

开发Controller

无法注入Dao

测试数据

DROP TABLE IF EXISTS `t_book`;

CREATE TABLE `t_book` (

  `id` int(11) NOT NULL AUTO_INCREMENT,

  `isbn` varchar(9) DEFAULT NULL,

  `author` varchar(50) DEFAULT NULL,

  `name` varchar(100) DEFAULT NULL,

  `price` float DEFAULT NULL,

  PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8;      

        

        

INSERT INTO `t_book` VALUES ('1', '11111', '吴承思', '西游记', '100');

INSERT INTO `t_book` VALUES ('2', '22222', '罗贯中', '三国演义', '200');

INSERT INTO `t_book` VALUES ('3', '33333', '施耐奄', '水浒传', '200');

INSERT INTO `t_book` VALUES ('4', '44444', '曹雪芹', '红楼梦', '200');

INSERT INTO `t_book` VALUES ('5', '55555', '吴道子', '天王送子图', '3000');

INSERT INTO `t_book` VALUES ('6', '66666', '李白', '静夜思', '2000');

INSERT INTO `t_book` VALUES ('7', '77777', '杜甫', '茅屋为秋风所破歌', '4000');

INSERT INTO `t_book` VALUES ('8', '88888', '白居易', '长恨歌', '2000');    

 

最终结果

查所有

用软件测试

postman

测试查所有

 

添加

 

测试添加

 

查单个

 

修改

删除

 

扩展查询

通过作者查图书

findByName

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

汤永红

一分也是爱

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值