一、在idea搭建spring boot
1、首先下载idea
2、file-new-project
然后一步一步往下就可以了。
二、小知识
1、
启动项。
2、
和在eclipse中配置maven一样,只不过从tomcat7:run 改成了 spring-boot:run
3、配置文件
推荐用 yml文件:
直接输入application.yml ,然后在里面敲server. 就能提示 port 等,需要注意:
每个value前面都有空格,没有空格 key是黑色的,语法是不对的!!!!
4、读取配置文件
①建议使用yml文件,有两点好处:
1)层次结构清晰,分层明确
2)避免编写冗余代码
在类中获取配置文件的信息。
②、如果我们需要同时获取一个模块下的很多属性信息,一个个写很费劲。那怎么办呢??
1、
编写一个配置类,类上加上 @Component、@ConfigurationProperties(prefix = "girl") 注解,然后声明需要提取的私有属性,然后生成getter/setter方法。(如果用笔记本的小伙伴一定要记住,快捷键是 alt+Fn+insert ,就因为这个,我一度怀疑我的键盘出了问题。。。。)
2、在类中注入刚才编写的配置类
然后通过就跟我们获取实体属性一样了。
PS:如果出现这个问题:spring boot Configuration Annotation Proessor not found in classpath
在pom中添加:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
我刚开始也报这个错,然后我以为是springboot版本号太高的问题(我用的2.0.4,教学视频是1.4.1),改了不行。然后加上从别人那黏贴上面的依赖也不行,搞的我一度想放弃,所以如果遇到这个问题,肯定是加依赖就可以解决,如果出现什么 no dependence.....可能是你写错了,或者什么,但千万别修改别的东西!!!!
5、生产环境和开发环境启动项目的问题
首先,我们先新建两个yml文件用于生产环境和开发环境的配置。
依次在application-dev.yml和application-prod.yml两个文件配置不同环境的配置信息,例如端口号、项目根目录、各种参数等。
然后在总的application.yml 配置启动项目需要加载哪个环境的yml文件。
这样,再启动就会加载的是开发环境的,如果想要加载生产环境,就把dev改成prod。但这样就需要我们手动修改,很麻烦,再说到了生产环境,也不能打开idea启动吧(我暂时还没有打包过spingboot项目,哪位大佬看到了,给解释一下~),所以还要一种方式:
先到你的工作空间下:
执行 mvn install //maven编译一下项目
然后执行 java -jar target/girl-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod //加载生产环境的就把最好的参数改成prod,开发就dev。
6、controller
1)
可以支持两个映射地址,url中写哪个都能访问的到
2)获取url中的数据
3)获取传递参数 /hello?id=10
当/hello?id= 回返回null
3)
springboot 和spring springmvc的区别
springboot是一个配置工具,一个整合工具。而springmvc是一个框架。目的就是快速开发一个基于spring的wen项目。
spring有很多的产品,例如 boot jpa cloud等。
好处:
1)简化了配置 yml、 例如spring-web.xml 中 注解不用开启、视图解析器直接在yml文件中、扫描路径 自动扫描带@RestController的
2)简化了部署 一个jar包,运行环境中有jdk 因为 通过 java -jar xxx.jar --spring.profile.active=
3)集成了大量的第三方配置库,基本可以实现零配置的开箱即用。新建项目的时候,可以选择很多依赖,例如activemq、redis等
spring boot jpa
spring boot进行数据库持久化。
1、pom中引入jpa的jar包
2、在application.yml中配置数据库信息和jpa信息(ddl-auto:①create 每次都创建一张新表 ②update 第一次会创建新表,后续有数据就不创建了 show-sql:在concle展示sql)
3、创建entiry 类上要加@Entity注解,这样才能自动创建表。包括@id 主键。这样启动项目,数据库就有这张表了。
并且cupSize对自动映射为cup_size。
4、 写一个接口extends JpaRepository<类名,主键类型(Integer)>
5、直接注入注入这个接口,然后可以调用一些默认方法。例如findAll、add(传进去类的实例)、findone(id)、delete(传入的是id 因为接口源码 参数 ID id,是你指定的@id 字段)、更新可以使用原生态的 update。
除此之外,还能根据接口文档命名规则自定义方法,例如在接口中写 findByAgeContaing(String age) 这样等同于 like
当然你也可以在接口中自定义方法,然后用@Query(sql)去查询 :username
最后推荐几个我觉得还比较好的连接:
1、https://www.imooc.com/video/13591 廖师兄的2小时学会springboot(哎,我看了一晚上才看了三节课。。。。,不过讲道理老司机开车很稳)
2、https://www.cnblogs.com/tanwei81/p/6814022.html 一些注解,没仔细看,不过感觉还可以
3、https://www.cnblogs.com/xin932134334/p/5454480.html idea的一些小技巧
4、https://wenku.baidu.com/view/320970740a4c2e3f5727a5e9856a561252d32108.html 这是一个大佬的笔记,唯一不足就是黏贴都不行,不过看看可能会有收获