公众号做网站电子商务网站建设服务
目录
SpringBoot
创建项目
配置文件
注解
命名规范
SpringBoot整合第三方技术
……
- 中文文档:Spring Boot 中文文档
 
SpringBoot
- Spring Boot 是基于 Spring 框架的一种快速构建微服务应用的方式
 - 它主要提供了自动配置、简化配置、运行时应用监控等功能
 - 它约定了一套项目开发规则来自动完成整个项目的配置,从而让开发人员能够简单地创建完项目就可以直接进入开发阶段
 - 优点:
 
- 起步依赖(简化依赖配置)
 
- parent, starter
 - 使用任意坐标时,仅书写GAV中的G和A,V由SpringBoot提供,如果发生坐标错误,再指定Version
 - 自动配置(简化常用工程相关配置)
 - 辅助功能(内置服务器……)
 
- tomcat(默认):apache出口,应用面广,负载了若干较重的组件
 - jetty:更轻量级,负载性能远不及tomcat
 - undertow:负载性能勉强胜于tomcat
 
创建项目
- 推荐使用Maven或Gradle来构建项目
 - 快速创建一个SpringBoot项目
 
- 进入网站:Spring Initializr
 - 填写项目的各种配置信息,再添加Spring Web依赖,点击生成压缩包
 - 解压压缩包,用IDEA打开解压后得到的文件夹
 - 再修改设置里的Maven的仓库信息和使用的jdk版本,pom.xml文件等即可
 
配置文件
- 默认配置文件为application.yml或application.properties,通常只用于存储SpringBoot项目的核心配置信息
 - 存放在项目的src/main/resources目录下,该目录在SpringBoot中的抽象路径为classpath
 - 一个项目里可以有多个配置文件,可以把不同类型的配置信息存储在不同的配置文件里
 - SpringBoot提供的配置文件格式:(优先顺序:properties>yml)
 
- application.properties(等号)
 
- key=value
 - application.yml(冒号后有一个空格):
 
- key: value
 - yml数据读取:使用@Value读取单个数据,属性名引用方式:${一级属性名,二级属性名……}
 - yml文件内部引用属性:使用${xxx(属性名)},一变全变
 
- 属性值中的转义字符需要用双引号包起
 
- lesson: "Spring\tboot\nlesson"
 - 配置信息的简便用法:(把配置文件里需要的那部分信息封装成一个对象使用)
 
- (1)使用@ConfigurationProperties注解绑定配置信息到封装类中
 - (2)封装类需要定义为Spring管理的bean,否则无法进行属性注入
 
注解
- SpringBoot常用注解:
 
- @SpringBootApplication
 
- 每一个SpringBoot项目中都有一个启动类(主类),启动类必须被@SpringBootApplication注解标注,用于启动一个SpringBoot项目的SpringBootApplication.run()方法
 - 一个项目应该只使用一次@SpringBootApplication注解
 - 其只能扫描它所在的包及其子包中的代码,如果无法被扫描到,相当于无效代码
 - SpringBoot工程运行后初始化Spring容器,扫描引导类所在的包加载bean
 - Bean
 
- Bean指的是由SpringBoot容器管理的对象
 - 依赖关系:一个对象中需要用到另外一个对象
 - 依赖注入:SpringBoot在创建一个对象时,会根据“依赖关系”,把这个对象依赖的对象注入其中
 - Bean的注册:SpringBoot自动寻找开发人员已经创建好的Bean,并将其保存在SpringBoot容器中
 - Bean的注入:把SpringBoot容器中的Bean赋值给某个尚未被赋值的成员变量
 - Bean的获取:
 
- 在类中创建一个属性,通过为属性添加注解,让SpringBoot为这个属性注入Bean
 - @Autowired
 - @Resource
 - @Value
 - 当SpringBoot项目被启动时,SpringBoot先会自动扫描所有的组件,然后注册所有的Bean,把这些Bean注入各自的使用场景中
 - 组件
 
- 要想让@Bean生效,那么被标注的方法所在的类必须有下列其中一个的注解,以便被SpringBoot的组件扫描器扫描到
 - @Configuration
 - @Controller
 - @Service
 - @Repository
 - @Component
 - @Import:将@Bean所在类主动注册给SpringBoot
 
命名规范
包的命名
风格一:以业务场景进行分类
比如与登录有关的都放到login包下
风格二:以功能模块进行分类
比如负责页面跳转的Controller都放到controller包下
常见分类:
配置包:config / configuration,存放被@Configuration标注的类
公共类包:common,存放供其他模块使用的组件、工具、枚举等代码
component:存放被@Component标注的类
utils / tools:存放工具类
constant:存放常量类
控制器包:control / controller
服务包:service,存放所有实现业务的服务类
impl:存放所有实现业务的服务接口
数据库访问接口包
dao,存放用于操作数据库的代码
mapper,项目使用MyBatis作为持久层框架
数据实体包
pojo,项目使用SSH(Spring+Struts+Hibernate)整合框架
model,项目使用SSM(Spring+SpringMVC+MyBatis)整合框架
entity,项目使用MyBatis框架
过滤器包:filter
监听器包:listener
Java文件命名
- 使用“驼峰命名法”:除了第一个单词,后面每个单词的首字母都大写,其他字母小写,单词之间没有下划线
 - 以“业务+模块”的方式命名,比如LoginController
 - 常见命名方式:
 
- 控制器类:以Control或Controller结尾
 - 服务接口 / 类:以Service结尾
 - 接口的实现类:以Impl结尾
 - 工具类:以Util结尾
 - 配置类:以Config或Configuration结尾
 - 组件类:以Component结尾
 - 枚举:以Enum结尾
 - 实体类:
 
- 名字必须是名词
 - 常见后缀名:
 
- PO:持久层对象,persistent object
 - DO:数据对象, data object
 - DTO:数据传输对象, data transfer object
 - BO:业务对象, business object
 - VO:显示层对象, view object
 - POJO:简易的Java对象,plain,ordinary java object
 
SpringBoot整合第三方技术
- SpringBoot—— MyBatis
 - SpringBoot—— Redis
 - SpringBoot—— RabbitMQ
 - SpringBoot—— Thymeleaf
 ……
- 学完SpringBoot基础框架知识后,SpringBoot整合其他技术是重难点,用到什么学什么,大体思路不要乱即可
 

