一、关于配置文件application.properties和application.yml的异同
- 这两个文件的作用是一样的,都是springboot的配置文件。
- yml文件是天然的树桩结构,文件看上去简洁易懂,自动分级。
- properties文件的优先级高于yml文件,因此可能二者同时存在时,可能会发生覆盖,即yml文件中的配置不起作用。
- properties的key按.分割,yml中可以用树状配置,并且key后面的冒号,后面一定要跟一个空格,如下:
spring:
datasource:
name: test
url: jdbc:mysql://192.168.1.112:3306/test
username: root
5. 把原有的application.properties文件删掉,一定要执行一下maven -X clean install
二、springboot中约定大于配置
不使用spring中的xml配置文件的方式,使用一个个的Config类进行Bean的配置。
三、@Configuration和@Bean注解的使用
@Configuration相当于用spring的时候xml里面的<beans>标签,@Bean可以理解为<bean>标签。Bean注解能够管理第三方jar包内的类到容器中,当引入第三方jar包时,就可以通过使用@Bean的方式把类交到spring容器进行管理,最终就能够被注入到IndexService实例中。
四、springboot项目的配置(Maven项目下):
(1)pom.xml文件引入依赖:parent部分引入父工程spring-boost-starter-parent,之后引入spring-boot-starter-web依赖。(此处应注意的是:如果springboot的版本太高,可能在启动时报错,降低版本即可)
(2)创建启动类。(很简单,上网查就行,熟能生巧)
五、spring-boot-maven-plugin插件的作用:
在打Jar包时(执行“mvn package”命令即可)会引入依赖包,因此生成的是可以直接运行的JAR文件,使用“Java -jar”就可以直接运行。
六、springboot中的静态目录和动态目录
(1)一般在springboot项目的src/main/resources目录下建两个文件夹,一个是static文件夹(存放静态页面),一个是templates文件夹(存放动态页面)
(2)访问静态页面方式:http://localhost:8080/index.html,默认指向的目录是static文件夹。
(3)访问动态页面方式:http://localhost:8080/xxx(xxx是用于让Controller接收的访问地址)。
(4)动态页面需要先请求服务器,访问后台应用程序,然后再转向页面,例如jsp。
(5)springboot不建议使用jsp,默认使用Thymeleaf来做动态页面。
(6)当想要显示动态页面时,后台应用程序返回的值一般是一个字符串,例如“index”,则默认指向templates文件夹下的index.html页面。(templates目录为spring boot默认配置的动态页面路径)。
(7)使用动态页面的好处:可以从后台向页面传值(例:HttpServletRequest request request.setAttribute("key","value")),
页面可以使用EL表达式取值(${key})。
(8)动态页面也不是主流的开发方式,了解即可。
(9)使用方法:直接添加依赖即可:如下----
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
七、@Controller和@RestController注解的区别:
@RestController用于讲返回值转换成json,如果要返回的是一个页面,则使用@Controller。
八、@ SpringBootApplication是启动类的注解。
九、springboot内置服务器,只需要在命令行执行---java -jar xxx.jar命令就可以直接部署项目。
十、Mybatis是操作数据库的(但是它有自己默认的数据库连接池,所提不需要配置数据库连接),Druid是最好用的的数据库连接池。
十一、配置文件嵌套(一个配置文件中调用另外的配置文件):
因为在一个项目中可能存在多个环境,例如:开发环境、测试环境、生产环境等,每种环境所需的参数不同,因此可以采用嵌套的方式,每次需要改变环境时,只需要选择相应的配置文件即可,即,在最外层文件中配置需要使用的配置文件。 application.yml中配置一下:
spring:
profiles:
active: dev
则使用的是application-dev.yml配置文件,其他同理。
十二、springboot启动类不能直接放到java目录下,必须要将其放到一个包中。