- springboot的四大组件
auto-configuration自动配置,不需要框架的配置文件,直接整合在一起 快速搭建环境
starter 启动器 启动器就是对依赖架包的一个管理器,方便管理
springbootcli 命令工工具 方便运行项目
actuator 监控功能模块
boot项目尽量使用注解开发,减少配置文件
注解有 实例化bean对象
@Repository 数据访问层 可以用@Mapper来代替
@Service 业务层
@Controller 控制层
@Component 组件 被ioc容器管理
注入属性依赖
@Autowired 通过类型来注入
@Resource 通过名字来注入
在配置文件中的注解
@Configuration 作用在类上 声明这个类是配置类,代替了xml文件
@Bean 作用在方法上代表这个方法返回的是一个对象 交给ioc容器来实例化
@ComponentScan 扫描包下的注解中的bean对象自动扫描包
@Component实例化一个类
@ImportResource 用在类上导入properties文件
@value 获取properties文件中的是value值通过key
@SpringBootApplication 标识这个是boot项目,启动类上使用
@SpringBootConfiguration配置类
读取外部配置文件
通过@PropertySource注解声明在类上,指定读取相关配置文件
配合@value注解可以获取对应的参数属性,通过"${key}"来取值
创建一个boot项目就会有一个boot启动器
springboot项目必须要将parent设置成springboot的parent 简化了程序的开发
引入maven插件
@controller默认返回的是视图 添加了@ResponseBody就返回是字符串
利用启动类来启动程序,不需要利用容器来启动,使用@SpringBootApplication来表示启动类,SpringApplication.run方法来运行启动类,
启动成功后
springboot项目启动图标可以自定义哦,虽然很无聊但是可以看一看
springboot项目启动默认加载src/main/resources目录下的banner.txt图标文件,这个可以自定一个这样的文件里面放你想要的东西,在下次启动后就显示了
认识一下boot中的配置文件格式
全局配置文件名字是application 格式可以properties 或是yml 就放在resource资源目录下就可以了,不要在乎哪些配置文件的加载顺序
通过这个全局配置文件来修改自动配置的默认值
properties格式配置文件主要是键值对 key= value yml是缩进格式用:来代替层级 建议使用yml (不要问为什么,问就是yml格式好看)
yml支持多种语言,可以移植,格式是k:v 冒号后面必须有一个空格 缩进是代表层级 缩进不要使用tab 使用空格来
表示是java是驼峰命名法,yml中可以使用驼峰,或是last_name这样的
Starter坐标 启动器的坐标,
spring boot引入了一种启动器坐标,不是maven那种的,启动器就当于是jar的一种集合吧,
举例说web starter
这个启动器就相当于是spring mvc 还包含了tomcat内嵌了服务器
启动器不需要定义版本,统一都是有parent 中的boot工程来控制 注意boot还是支持maven仓库坐标的,
springboot项目自动化配置 @SpringBootApplication
组合了@SpringBootConfiguration @EnableAutoConfiguration 自动配置 将所有的对象可以实例化,
- profile配置
这个设置是用来针对不同的环境来配置的,大家都知道application.yml是全局配置文件,但是开发,测试,生产不同的环境需要的配置是不一样的,不能只使用一个环境吧,那就需要在不同的环境使用不同的配置文件,在全局配置文件中设置spring.profiles.active=test或是dev或是prod来动态切换不同的环境,dev是本地,prod是生产 - 日志配置
在开发项目时日志查看是很重要的,很定位到bug错误的原因和位置,springboot默认使用logback日志,这个不用单独添加依赖,在boot中已经集成了, - Freemarker视图集成
springboot集成Freemarker视图技术,先导入对应依赖坐标,然后对进行配置信息
Freemarker默认视图路径是resource/templates目录,这个是boot中自定义的,但是我们可以自己修改这个视图默认路径,
在application.yml中修改
thymeleaf视图也被boot集成了,boot官方推荐使用这种的,首先要导入依赖坐标,
thymeleaf默认视图路径是resource/templates目录,可以在配置文件中修改路径,
注意在这个页面上加上这个命名空间
- springboot静态资源访问
在resource的目录下存放静态资源,默认的静态资源存放目录是static或是pulic目录 可存放images,css ,js等静态资源文件,
也可以自定义静态资源路径 在配置文件中 - springboot项目打包与部署
由于springboot内嵌了tomcat,所以打包的jar包默认是可自行运行
打包成jar包的流程
点击项目编辑项目 - 进入之后找到maven工具
- 进行打包前的设置
- 设置完成启动项目开始打包
- 可以测试一下项目啊
就是不用idea来启动用系统来启动,先操作cmd 打开黑窗口
输出命令 java -jar 存放地址 - 关闭黑窗口是就把进程断掉了,
打包成war包
springboot项目默认是jar包类型,先修改吧 - 因为boot是内嵌了tomcat, 打包时要忽略到这个tomcat
因为是要打包成war包的所以会依赖于外部容器来启动,也就是说把war包放到tocmat中的WEB-INF目录下,
这tomcat会有一个web.xml文件来启动扫描war包项目,怎么才能启动呢?
需要重写以启动类
下面这个就是第二种打包方式
打包好的war包需要放到服务器中webapps目录下点击startup.bat来运行容器,访问tomcat就可以了