SpringBoot
入门搭建
-
创建Maven项目(默认项目,无需添加web支持)
-
导入SpringBoot起步依赖(版本别太高)
<!--父工程--> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.8.RELEASE</version> </parent> <!--web开发起步依赖--> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies>
-
定义Controller(和Spring形式相同)
-
编写引导类
@SpringBootApplication public class HelloApplication { public static void main(String[] args) { SpringApplication.run(HelloApplication.class,args); } //这里不是SpringBootApplication,不然找不到run方法!!! }
-
启动测试(通过main方法启动)
极速搭建
file
中新建一个model
,点击Spring Initializr
并选择java版本,填写项目信息,勾选Spring Web
支持即可生成项目,自带依赖和引导类,根据需求加入ontroller
类即可。(该过程可能需要连手机热点加外网)
SpringBoot配置
-
提供两种配置文件类型,
properteis
和yml/yaml
,默认配置文件名称为application.properties
,优先级最高,一般自己定义application.yml
。可以更改一些自动配置的属性或者添加自定义的属性,如修改端口号。server.port = 8080 #properties格式 servre.address = 127.0.0.1
server: #yml格式,缩进表示层级关系,数据前加空格 port: 8080 address: 127.0.0.1 person: #对象 name: zhangsan address: #数组 - beijing - shanghai msg1: 'hello \n world' #常量,单引忽略转义字符 msg2: "hello \n world" name: ${name1} #参数引用
-
数据获取(自定义配置在Controller中获取)
-
@value
注解读取(适合单个属性注入)@value("${person.name}") private string name; #属性名可以自取,注解名和配置键名对应即可 @value("${address[0]}") private string address; #数组注入,输出beijing
-
Environment
对象注入(便于批量注入)@Autowired private Environment env; env.getProperty("person.name");
-
@ConfigurationProperties
(便于对象操作)@Component @ConfigurationProperties(prefix = "person") #前缀表示层级关系 public class Person{ private String name; private int age; } //定义好对象后直接往配置文件里添加属性值即可,添加依赖会有对应提示
-
-
profile
配置(不同环境下动态切换配置)配置方式:
-
多
profile
文件方式:多个配置文件,每个对应一种环境,命名规范:application-dev.properties/yml 开发环境 application-test.properties/yml 测试环境
-
yml
多文档激活方式:在yml
中使用---
分隔不同配置
激活方式:
-
在
application.properties
中配置:spring.profiles.active=dev
,即可激活开发环境 -
虚拟机参数
-
命令行参数:部署项目时配置,
java -jar .\jar包
运行,内置tomcat
-
-
内外部配置文件有多种存放方式,会有不同优先级的加载顺序,官网查询,可利用其互补优势。
SpringBoot整合Mybatis
-
新建
springboot
项目,勾选sql中的mysqldriver
和mybatis framework
-
对应数据库创建实体类
-
数据库配置信息
#dataSource spring: datasource: url: jdbc:mysql///ssmbuild #///省略用户名,ip和端口,因为连接本地mysql username: root password: 123456 driver-class-name: com.mysql.cj.jdbc.Driver
-
mybatis配置信息(注解开发不用写)
-
书写
Mapper
接口,方法及注解sql语句@Mapper public interface BookMapper { @Select("select * from books") List<Books> allBook(); }
-
测试,在测试类或
Controller
中注入Mapper
@SpringBootTest class SpringbootMybatisApplicationTests { @Autowired private BookMapper bookMapper; @Test void testAllBook() { List<Books> list = bookMapper.allBook(); System.out.println(list); } }
注意:自动注入失败时,应先确保
Application
类,在mapper、pojo
类的上级。
Java小结
- 大一选了门
android
开发的通识选修课,是我第一次接触Java
,当然,被虐的很惨。到大二寒假的时候,想精通一门编程语言,听说用Java的人最多还比c++简单,于是找了B站网课从头看起。狂神说Java,我不敢说他讲的多好,但确实吸引了最初想学编程的我,一遍看完不牢固,我又找到另一个资源很多的Up,看他发的Java学习视频,就这样过完了Java基础。那是我最认真的时候,CSDN
发过不少博客。 - 按道理就学编程而言到此已经可以适可而止了,但是不知什么时候起,我好像对我的专业自动化带有了偏见。不清楚自动化毕业后做什么还不如自学Java后端开发,本科毕业进互联网大厂,高薪还不用考研多香。于是乎,尽管大二下课程挺重,我还是挤时间学了mysql、javaweb等,可能是因为精力有限,我觉得自己关于一些web原理理解的不透彻。并且因为一直用的idea社区版,对web功能支持不太友好,导致我经常花费时间做无用功,偶尔会有厌倦情绪。总之,看着写好的网页蹦出来,还是会有发自内心的喜悦和成就感,但碰见404和500就瞬间裂开哈哈。
- 从期末考试一直到暑假,就没怎么碰过Java了。比赛结束后我自学了数据结构与算法,还搭了一个hexo小网站用来写博客,证明一下自己学过后端哈哈。由于课程减少和没了学生会的事务,我觉得大三上的生活还是挺休闲的。这期间我为自己的以后焦虑过,真的就当一个程序猿么,勤恳搬砖到35岁再放飞,也不怕卷不过计算机科班生,但好像对后端开发并没那么感兴趣。学习了许多自动化专业知识,感觉不算坏,况且人生的道路很长,不甘心一眼把以后望穿,于是我决定考研。做事讲究有始有终,空闲时间也不少,我又捡起Java,走走停停的看完了
Mybatis、Spring
和SpringMVC
。学这些时我已不再深究什么原理,也没做笔记,知道有这东西会用即可。考完试进入现在这个寒假,简单学习了一下ssm
整合和黑马的SpringBoot
框架,我想差不多可以画上句号了。 - 学习后端的过程,我还零零散散学到很多东西,一手挺溜的
markdown
,命令行操作,关于编程的一些常识和思维等等,总之努力不算白费。后面我可能会学学AI相关的python
编程,刷刷数据结构和算法的题,反正编程学习不能止步,博客跟新也不会停,respect!