SprintBoot

第一个SpringBoot框架web项目

1、新建一个空项目
2、新建Module,选择Spring Initializr,选择JDK版本点击下一步
3、填好信息,选择下一步,包名不能以数字开头
4、选择依赖选择Web-Spring Web,下一步
5、创建成功

SpringBoot继承SpringMVC

1、新建一个SpringBoot项目
2、在Application所在包下创建子包controller
3、创建Controller类,在上方加入@Controller注解
4、启动Application类中的main方法

@Controller
public class MyController{
	@RequestMappint(value="/say")
	public @ResponseBody String say(){
		return "sayHello";
	}
}

Spring框架的核心配置文件application.properties

//设置其他环境的配置
spring.profiles.active=test/dev/ready/produce
//dev就是application-dev.properties文件
//设置端口号
server.port=8080
//设置上下文根
server.servlet.context-path=/springboot

yml、yaml

//设置端口号
server:
	port: 8080
//设置上下文根
	servlet:
		context-path: /springboot

获取自定义配置

1、在application.properties中声明

//单个的配置
name="张三"
age=23
//以对象为单位的配置
lisi.name="李四"
lisi.age=20

2、在Application类所在包内创建子包config
3、创建此对象类Lisi,在类上加入注解
1)@Component
2)@ConfigurationProperties(prefix=“lisi”)

@Component
@ConfigurationProperties(prefix="lisi")
public void Lisi{
	private String name;
	private Integer age;
	//set 和 get 方法
}

4、在Controller类中使用

	 @Autowired
    private Lisi lisi;
    
    @Value("${name}")
    private String name;

    @RequestMapping(value = "/say")
    public @ResponseBody String Say(){
        return lisi.getName() + lisi.getAge() + name;
    }

自定义配置出现警告 。加入依赖进行处理

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-configuration-processor</artifactId>
	<optional>true</optional>
</dependency>

配置文件中文乱码问题

设置—>Editor—>File Encodings—>
在这里插入图片描述

SpringBoot集成jsp

1、在main包下创建webapp文件夹
2、点击项目结构,点击Web,将此文件夹改为web资源文件夹
在这里插入图片描述
3、引入springboot内嵌tomcat对jsp的解析包(加入依赖)

<dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-jasper</artifactId>
</dependency>

4、springboot项目默认推荐使用的前端引擎是thymeleaf
现在我们要使用springboot集成jsp,手动指定jsp最后编译的路径
否则没有他的位置。而且位置已经被规定(META-INF/resources)

 <build>
	<resources>
		<resource>
			<!--源文件-->
			<directory>src/main/webapp</directory>
			<!--编译后的文件位置-->
			<targetPath>META-INF/resources</targetPath>
			<includes>
				<!--指定哪个资源要编译-->
				<include>*.*</include>
			</includes>
		</resource>
	</resources>
</build>	

5、在application.properties中配置视图解析器

spring.mvc.view.prefix=/
spring.mvc.view.suffix.jsp

springboot集成mybatis

1、添加mysql和mybatis的驱动

<!--mysql的驱动-->
<dependency>
       <groupId>mysql</groupId>
       <artifactId>mysql-connector-java</artifactId>
</dependency>
<!--mybatis的驱动-->
<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>2.0.0</version>
</dependency>

2、创建表
3、在项目根目录创建文件、GeneratorMapper.xml

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE generatorConfiguration
        PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
        "http://mybatis.org/dtd/mybatis-generator-cconfig_1_0.dtd">
<generatorConfiguration>
    <!--指定连接数据库的JDBC驱动包所在位置,指定到本机的完整路径-->
    <classPathEntry location="E:\MySql Connector Java 5.1.23\mysql-connector-java-5.1.23-bin.jar"/>
    <!--配置table表信息内容体, targetRuntime指定采用MyBatis3的版本-->
    <context id="tables" targetRuntime="MyBatis3">
        <!--抑制生成注释,由于生成的注释都是英文,可以不让它生成-->
        <commentGenerator>
            <property name="suppressAllComments" value="true" />
        </commentGenerator>
        <!--配置数据库连接信息-->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/springdb"
                        userId="root"
                        password="333">
        </jdbcConnection>
        <!--生成model类,targetPackage指定model类的包名,
                        target指定生成的model放在哪个工程下面-->
        <javaModelGenerator targetPackage="com.qzj.springboot.model"
                            targetProject="src/main/java">
            <property name="enableSubPackages" value="false"/>
            <property name="trimStrings" value="false"/>
        </javaModelGenerator>
        <!--生成MyBatis的Mapper.xml文件,targetPackage表示包名,
                                    targetProject表示在哪个工程下-->
        <sqlMapGenerator targetPackage="com.qzj.springboot.mapper"
                         targetProject="src/main/java" >
            <property name="enableSubPackages" value="false" />
        </sqlMapGenerator>
        <!--生成MyBatis的Mapper接口类(dao)文件,targetPackage表示包名,
                                    targetProject表示在哪个工程下-->
        <javaClientGenerator  type="XMLMAPPER"
                              targetPackage="com.qzj.springboot.mapper"
                         targetProject="src/main/java" >
            <property name="enableSubPackages" value="false" />
        </javaClientGenerator>
        <!--数据库表名以及java模型名称-->
        <table tableName="t_student" domainObjectName="Student"
               enableCountByExample="false"
               enableUpdateByExample="false"
               enableDeleteByExample="false"
               enableSelectByExample="false"
               selectByExampleQueryId="false"/>
    </context>
</generatorConfiguration>

4、添加在pom文件中mybatis-generator插件

<plugin>
  <groupId>org.mybatis.generator</groupId>
  <artifactId>mybatis-generator-maven-plugin</artifactId>
  <version>1.3.6</version>
  <configuration>
      <configurationFile>GeneratorMapper.xml</configurationFile>
      <verbose>true</verbose>
      <overwrite>true</overwrite>
  </configuration>
</plugin>

5、双击插件生成
6、两种方法
1)需要在pom文件中加入资源文件的编译

<resources>
	<resource>
		<directory>src/main/java</directory><!-- 所在的目录-->
		<includes><!-- 包括目录下的.properties,.xml  文件都会扫描到-->
			<include>**/*.properties</include>
			<include>**/*.xml</include>
		</includes>
		<filtering>false</filtering>
	</resource>
</resources>

2)将mapper.xml放在resources/mapper文件夹中,在application.properties中写入此配置

mybatis.mapper-locations=classpath:mapper/*.xml

7、两种方法:
1)在Mapper接口上方加入@Mapper注解,
2)在Application上方加入@MapperScan(basePackages=“com.xxx.springboot.mapper”)
8、创建service接口并创建方法,创建实现类,并在上方加入@Service注解,通过自动注入创建mapper接口,并调用其方法。
9、在application.properties文件中加入数据库连接四要素
10、写Controller类,上方加入@Controller注解,通过自动注入@Autowired创建Service,并调用其方法

//配置数据库连接的四要素
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
//新版本的driver:drive = com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/springdb
//新版本的url = jdbc:mysql://localhost:3306/user?serverTimezone=GMT%2B8&characterEncoding=utf8&useUnicode=true&useSSL=false
spring.datasource.username=root
spring.datasource.password=333

高版本的mysql配置

spring:
	datasource :
		url:
			jdbc:mysql://localhost:3306/mydb3?serverTimezone=GMT2B8&useSSL=false&useUnicode=true&characterEncoding=utf-8
//serverTimezone=GMT2B8-这个时区要设置好,不然会出现时差,
有了8个小时的时差
 UTC代表的是全球标准时间,但是我们使用的时间是北京时区也就是东八区,领先UTC八个小时。
 //北京时间== 东八区时间! =北京当地时间
 serverTimezone=GMT&2B8
//或者使用上海时间
 serverTimezone= Asia/ Shanghai

springboot对事务的处理

需要在service实现类上的方法上加入@Transactional

springmvc的常用注解

1、@RestController 
	在控制层类上,相当于:类上加@Controller + 方法上加@ResponseBody
	//意味着当前控制层类中所有的方法返回的都是json对象
2、@GetMapping(value="/select")//相当于RequestMapping(value="",method=RequestMethod.GET)
一般查询数据的时候使用 --> 查询
@PostMapping(value="/insert")//相当于RequestMapping(value="",method=RequestMethod.POST)
一般新增数据的时候使用 --> 新增
@DeleteMapping(value="/delete")//相当于RequestMapping(value="",method=RequestMethod.DELETE)
一般删除数据的时候使用 --> 删除
@PutMapping(value="/updata")//相当于RequestMapping(value="",method=RequestMethod.PUT)
一般修改数据的时候使用 --> 更新

RESTful风格

SpringBoot继承thymeleaf

在resources目录下的templates下创建html文件

@Controller
public void IndexController(){
	@RequestMappint(value="/index")
	public String index(Model model){
		model.addAttribute("data","thymeleaf");
		//返回的网页默认加上了视图解析器,都会指向根目录的templates下
		return "index";
	}
}
	<!--要在第一行加入命名空间-->
	<html lang="en" xmlns:th="http://www.thymeleaf.org">
	<div th:text="${data}"

thymeleaf的各种配置

在application.properties文件里配置


#设置thymeleaf的视图视图解析器
spring: 
	thymeleaf: 
		prefix: classpath:/templates/
		suffix: .html
		#设置thymeleaf模板引擎的缓存,设置为关闭,默认true开启
		cache: false
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值