一:Spring Boot 整合了所有的框架.
二:Spring Boot的基础结构共三个文件:
1:src/main/java 程序开发以及主程序入口
2:src/main/resources 配置文件
3:src/test/java 测试程序
spingboot建议的目录结果如下:
project
Application.java
+ - domain
+- Customer.java
+- CustomerRepository.java
+- service
+- CustomerService.java
+- controller
+- CustomerController.java
1、Application.java 建议放到跟目录下面,主要用于做一些框架配置
2、domain目录主要用于实体(Entity)与数据访问层(Repository)
3、service 层主要是业务类代码
4、controller 负责页面访问控
--------------------------------------------------------------------------------------
三:使用环境:
1:若使用的是eclipse ,需安装插件Spring tool suite(sts),若使用的是idea旗舰版,idea 自带了springboot 插件。
2: 推荐使用maven3+,java8
使用的问题:
注意:
1:在idea中创建springboot 项目时,一定要配置maven 的安装路径,
setting 的覆盖路径,本地maven 路径。否则注解引不进来。
2:springboot的 ***Application.java 文件要与controller,service,domain
的包在同一级下,因为启动***application的main方法后,要扫描注解。
@SpringBootApplication springboot 的核心注解,开启spring自动配置。
----------------------------------------------------------
四:springboot 开发web项目的pom.xml 配置
<modelVersion>4.0.0</modelVersion>
<!--项目说明-->
<groupId>com.bj.boot2</groupId>
<artifactId>boot2</artifactId>
<version>1.0.0</version>
<!--继承父级项目的依赖-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.6.BUILD-SNAPSHOT</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<!--项目描述-->
<name>boot2</name>
<description>Demo project for Spring Boot</description>
<!--项目配置的jdk-->
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<!--springboot开发web项目的起步依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--springboot开发web项目测试的起步依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<!--springboot 提供的项目打包编译插件-->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
---------------------------------------------------------
五:springboot 核心配置文件:(配置端口,上下文等 )
配置位置:src/main/resources/
方式:两种:application.propertis,或 application.yml .
注意:application.yml 配置时的空格问题。两个格式同时用时 application.propertis 优先.
多环境配置:如:resources下有 application.propertis application-test.propertis application-dev.propertis 多环境下使用时,可以在application中激活用哪个,spring.profiles.active=dev/test 就可以了。
---------------------------------------------------------------------------------------------------------------------------------------
六:springboot 下的springmvc 常用注解:
@Controller
@ResponseBody
@GetMapping: get请求+requestMapping
@PostMapping: Post请求+requestMapping
@RestController: 返回的一定是字符串或json数据,是@Controller和 @ResponseBody 注解的组合注解.
------------------------------------------------------------------------------------------------------------------------------------
七:idea 中Jsp 的开发配置:
1:pom.xml 引jsp的依赖,4个。
2:application.properties 下配置jsp 的前后缀。
3:在main下创建webapp 文件夹,webapp下放jsp.
4:在pom.xml >build> 添加 resources 标签依赖,用于webapp/jsp 的路径指引,idea 中需要配,eclipse 中不需要配(注意)
5:正常开发JspController .
------------------------------------------------------------------------------------------------------------------------------------------------------
八:idea 中对事物的管理。
1:在springboot 的入口***application.java 上加 @EnableTransactionManagement,开启事物。
2: 在具体的业务层service层的方法上加上@Transactional.
注意:springboot中service层的方法上若不加事物(如update方法),则方法中若存在运行时异常,数据照样commit。加上事物后,则数据库数据不会更新
------------------------------------------------------------------------------------------------------------------
九:springboot 的热部署
热部署指的是修改代码后,服务器自动加载修改的代码,提高开发效率。
在pom.xml 添加 spring-boot-devtools 的插件。
注意:使用中出现明明已启动,没生效,这时手动启动程序。
-------------------------------------------------------------------------------------------------------------------------------------------
十:springboot 中的servlet使用。
1:在servlet类上加上@webservlet("urlPatterns="servlet 映射路径"")、
2:在****application的类上加servlet的扫描注解。@ServletConpentScan(basePackages="servlet的路径")。
-----------------------------------------------------------------------------------------------------------------
十一:springBoot 中开发非web项目。
Java项目 步骤:new project/module> springboot> core>finish.
启动java项目:springbootContext.getBean("类");得到类对象,再调方法,启动run
注意:java项目创建时不要选web,则pom.xml 中的starter-web的web就没有了,就成了springboot开发java项目的依赖。
-----------------------------------------------------------------------------------------------------------------------------------------------------
十二:springboot中web项目打war/jar 包。
打war包:
1: ***application.java 继承 springbootServletInitializer, 覆盖 一个方法。
2:pom.xml 中的打包方式改为war
3.pom.xml 配置maven的打包插件。
4.运行maven install,成功后在pom.xml 的打包路径下看到 ...........war 文件.
打jar包:
1:pom.xml 中的打包方式改为jar.
2.pom.xml 配置maven的打包插件。
3:运行maven install,成功后在pom.xml 的打包路径下看到 ...........jar 文件
注意:打 jar包时,maven的打包插件使用 1.4.2 的版本 。其他的版本暂时打 jar包都有点问题。
-----------------------------------------------------------------------------------------------------------------------------------------------
十三:jar/war 包上线部署
1:可以将jar/war 放到tomcat的webapps 下部署。
2:可以将war 放到Linux 下的shell 脚本下执行。
-----------------------------------------------------------------------------------------------------------------------------------