SpringzBoot项目踩雷:
1.Application启动程序一定要放在最外层,其他的放在controller包下
SpringBoot项目目录详解:
1.pom.xml文件:
1.制定了一个父工程:指定当前工程为SpringBoot。帮助我们声明了starter依赖的版本
2.项目的元数据:包名,项目名,版本号
3.指定了properties信息,指定了java的版本时1.8
4.导入依赖:默认情况下,导入spring-boot-starter,spring-boot-starter-test
5.插件:spring-boot-maven-plugin
2.gitignor文件:默认帮我们忽略一些文件和目录
3.src目录
-src
-main
-java
-包名
启动类.java #需要将controller类,放在启动类的子包中或者同级别的包下
-resource
-static #存方静态资源的
-templates #存放模板页面的
applilcation.properties #SpringBoot提供的唯一的配置文件
-test #只是为了测试用的
SpringBoot的三种启动方式
1.运行启动类的main方法,即可以运行SpringBoot工程
2.使用maven的命令去运行SpringBoot工程
在左下角的teiminal下
mvn-spring-boot:run
3.采用jar包的形式运行
3.1.将当前的项目打包成一个jar文件
3.2.通过java -jar jar文件 运行程序
(mvn clean package ---打包)
SpringBoot的常用注解:
1.@Configuration和@Bean
之前在使用SSM去开发的时候,在xml文件中编写bean标签,但是在SpringBoot不推荐使用xml文件
@Configuration //代表当前类是一个配置类
public class UserConfig {
@Bean(name = "user1") //构建一个实例,放到我的springboot容器中
public User user(){
User user = new User();
user.setId(1);
user.setName("zhangsan");
return user;
}
/*
<beans....>
<bean id="user1" class="com.qf.firstspringboot.entity.User"/> //@Bean里面不写参数,那么id默认是方法名
</beans>
//@Configuration相当于<beans>标签
@Bean相当于bean标签
user()相当于id User相当于class
*/
}
2.@SpringBootApplication是一个组合注解
2.1@SpringBootConfiguration就是@Configuration注解,代表启动类就是一个配置类
2.2@EnableAutpConfiguraton帮我们实现自动装配,SpringBoot工程启动时,运行一个SpringFactoriesLoader的类,加载META-INF/spring.factory配置类(已开启),通过SpringBootLoader中的load方法,以for循环的方式,一个一个加载
好处:无需编写大量的整合配置信息,只需要按照SpringBoot提供好了约定去整合即可
坏处:如果说你导入了一个starter依赖,那么你就需要填写他必要的配置信息
手动关闭自动装配的指定内容:@SpringBootApplication(exclude=QuartzAutoConfiguration.class)
3.@ComponenScan是用来帮助扫描注解
SpringBoot常用配置:
SpringBoot的配置文件支持properties和yml,甚至还支持json
更加推荐yml文件格式(优势):
1.yml文件,会根据换行和缩进帮助咱们管理配置文件所在的位置
2.yml文件,相比于properties更轻量级一些
yml文件的劣势:
1.严格遵循换行和缩进
2.在填写value时,一定要在:后面跟上空格
4.2多环境配置:
4.3引入外部配置文件信息:
和传统的SSM方式一样,通过@Value的注解去获取properties/yml文件中的内容
4.4热加载:
作用:修改项目信息时,不用再重启工程而是重新构建
1.导入依赖spring-boot-devtools
2.complier中勾选(build project automticallly)
3.修改内容后通过build重新构建工程
5.SpringBoot整合MyBaits时
1.导入依赖:
mysql-connector-java
druid-spring-boot-starter
mybaits-spring-boot-starter
2.编写配置文件
2.1准备实体类
2.2准备Mapper接口(还需要再启动类中添加注解,扫描Mapper接口所在的包)
@MapperScan(basePackage="com.qf.firstspringboot.mapper")
2.3准备映射文件
2.4指定连接数据库的信息
3.测试
SpringBoot练习:
准备工作:
1.构建客户模块和搜索模块的SpringBoot工程
2.准备客户模块的静态资源(页面,实体类,数据库)
3.准备搜索模块的资源(在ES中创建客户模块的索引)
3.1导入ES的依赖
3.2编写连接ES的config配置类
3.3导入实体类
4.将客户模块运行起来