SpringBoot学习笔记01_基本使用

SpringBoot的核心功能

  • 起步依赖
           起步依赖本质上是一个Maven项目对象模型(Project Object Model,POM),定义了对其他库的传递依赖,这些东西加在一起即支持某项功能。简单的说,起步依赖就是将具备某种功能的坐标打包到一起,并提供一些默认的功能。
  • 自动配置
           Spring Boot的自动配置是一个运行时(更准确地说,是应用程序启动时)的过程,考虑了众多因素,才决定Spring配置应该用哪个,不该用哪个。该过程是Spring自动完成的。

SpringBoot快速入门

  • 一:添加SpringBoot的起步依赖
<parent> 
	<groupId>org.springframework.boot</groupId> 
	<artifactId>spring-boot-starter-parent</artifactId> 
	<version>2.0.1.RELEASE</version> 
</parent>
  • 二:SpringBoot要集成SpringMVC进行Controller的开发,所以项目要导入web的启动依赖
<dependencies> 
	<dependency> 
		<groupId>org.springframework.boot</groupId> 
		<artifactId>spring-boot-starter-web</artifactId> 
	</dependency> 
</dependencies>
  • 三:编写SpringBoot引导类
@SpringBootApplication 
public class MySpringBootApplication { 
	public static void main(String[] args) { 
		SpringApplication.run(MySpringBootApplication.class); 
	} 
}
  • 四、编写Controller
@Controller 
public class QuickStartController { 
	@RequestMapping("/quick") 
	@ResponseBody 
	public String quick(){ 
		return "springboot 访问成功!"; 
	} 
}
  • 五、最后再运行我们的引导类就可以在浏览器上访问项目了
    在这里插入图片描述
    在控制台输出的日志我们可以得知,访问项目的URL为:http://localhost:8080/quick

配置文件与配置类的属性映射方式

1、使用注解@Value映射

我们可以通过@Value注解将配置文件中的值映射到一个Spring管理的Bean的字

  • application.yml配置如下:(注意:每个冒号后面都有一个空格)
person: 
	name: zhangsan 
	age: 18
  • 实体Bean代码如下:
@Controller 
public class QuickStartController { 
	@Value("${person.name}") 
	private String name; 
	@Value("${person.age}") 
	private Integer age; 
	
	@RequestMapping("/quick") 
	@ResponseBody public String quick(){ 
		return "springboot 访问成功! name="+name+",age="+age; 
	} 
}

2、使用注解@ConfigurationProperties映射

通过注解@ConfigurationProperties(prefix=“配置文件中的key的前缀”)可以将配置文件中的配置自动与实体进行映射

  • application.yml配置同上;
  • 实体Bean代码如下:
@Controller 
@ConfigurationProperties(prefix = "person") 
public class QuickStartController { 
	private String name; 
	private Integer age; 
	
	@RequestMapping("/quick")
	@ResponseBody public String quick(){ 
		return "springboot 访问成功! name="+name+",age="+age; 
	}
	public void setName(String name) { this.name = name; }
	public void setAge(Integer age) { this.age = age; } 
}

SpringBoot整合Mybatis

  • 1、添加Mybatis的起步依赖
<!--mybatis起步依赖--> 
<dependency> 
	<groupId>org.mybatis.spring.boot</groupId> 
	<artifactId>mybatis-spring-boot-starter</artifactId> 
	<version>1.1.1</version> 
</dependency>
  • 2、添加数据库驱动坐标
<!-- MySQL连接驱动 --> 
<dependency> 
	<groupId>mysql</groupId> 
	<artifactId>mysql-connector-java</artifactId> 
</dependency>
  • 3、在application.properties中添加数据库连接信息
spring.datasource.driverClassName=com.mysql.jdbc.Driver 
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf8 
spring.datasource.username=root 
spring.datasource.password=root
  • 4、创建实体Bean以及对应数据库表(字段名称相同)

  • 5、编写Mapper(相当于之前的Dao接口)

@Mapper 
public interface UserMapper { 
	public List<User> queryUserList(); 
}
  • 6、配置Mapper映射文件
<?xml version="1.0" encoding="utf-8" ?> 
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > 
<mapper namespace="com.itheima.mapper.UserMapper"> 
	<select id="queryUserList" resultType="user"> 
		select * from user 
	</select> 
</mapper>
  • 7、在application.properties中添加mybatis的信息
##spring集成Mybatis环境 
#pojo别名扫描包 
mybatis.type-aliases-package=com.itheima.domain 

#加载Mybatis映射文件 
mybatis.mapper-locations=classpath:mapper/*Mapper.xml
  • 8、编写测试Controller
@Controller 
public class MapperController {
	@Autowired 
	private UserMapper userMapper; 
	@RequestMapping("/queryUser") 
	@ResponseBody 
	public List<User> queryUser(){ 
		List<User> users = userMapper.queryUserList(); 
		return users; 
	} 
}

SpringBoot整合Spring Data JPA

  • 1、添加Spring Data JPA的起步依赖
<!-- springBoot JPA的起步依赖 --> 
<dependency> 
	<groupId>org.springframework.boot</groupId> 
	<artifactId>spring-boot-starter-data-jpa</artifactId> 
</dependency>
  • 2、 添加数据库驱动依赖
<!-- MySQL连接驱动 --> 
<dependency> 
	<groupId>mysql</groupId> 
	<artifactId>mysql-connector-java</artifactId> 
</dependency>
  • 3、在application.properties中配置数据库和jpa的相关属性
#DB Configuration: 
spring.datasource.driverClassName=com.mysql.jdbc.Driver 
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test? useUnicode=true&characterEncoding=utf8 
spring.datasource.username=root 
spring.datasource.password=root 

#JPA Configuration: 
spring.jpa.database=MySQL 
spring.jpa.show-sql=true 
spring.jpa.generate-ddl=true 
spring.jpa.hibernate.ddl-auto=update 	#没有相应的表会自动创建,有则更新
spring.jpa.hibernate.naming_strategy=org.hibernate.cfg.ImprovedNamingStrategy
  • 4、创建实体配置实体(会自动在数据对创建对应的表)
@Entity
public class User { 
	// 主键 
	@Id 
	@GeneratedValue(strategy = GenerationType.IDENTITY) 
	private Long id; 
	// 用户名 
	private String username; 
	// 密码 
	private String password; 
	// 姓名 
	private String name; 
	//此处省略setter和getter方法... ... 
}
  • 5、编写UserRepository
public interface UserRepository extends JpaRepository<User,Long>{ 
	public List<User> findAll(); 
}
  • 补充一句

上面是在jdk8里进行的测试,JPA部分在jdk9中则会报错;
解决办法如下:

<!--jdk9需要导入如下坐标--> 
<dependency> 
	<groupId>javax.xml.bind</groupId> 
	<artifactId>jaxb-api</artifactId> 
	<version>2.3.0</version> 
</dependency>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值