一.spring简介
Spring Boot其设计的目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式进行配置。
1.去除了大量的xml配置文件
2.简化复杂的依赖管理
3.配合各种starter使用,基本上可以做到自动化配置
4.快速启动容器
5. 嵌入式Tomcat,Jetty容器,无需部署WAR包,简化Maven或Gradle配置
二.Springboot容器
spring容器提供了bean的创建和管理 spring沿用spring容器 提供了简化的操作方式 全程使用注解
使用maven建立普通的maven jar项目
》》pom.xml文件下添加:由父pom指定版本
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.6.RELEASE</version>
</parent>
`添加SpringMVC的依赖
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
创建包 cn.ps 创建类Example 用于启动springboot
package cn.ps;
import java.util.HashMap;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import cn.ps.entity.User;
@RestController //这个注释包括了 @controller 以及@ResponseBody (作用是将方法的返回值直接返回给用户要是不加的话就是跳转路径)
/**
* @SpringBootApplication //注解,它包括三个注解
* @Configuration:表示将该类作用springboot配置文件类
* @EnableAutoConfiguration:表示程序启动时,自动加载springboot默认的配置
* @ComponentScan:表示程序启动是,自动扫描当前包及子包下所有类
*/
@SpringBootApplication
public class Example {
@Autowired
private User user;
@GetMapping("/") springboot 可以特用GetMapping PostMapping PutMapping DeleteMapping注解
String home(){
return "Hello World!";
}
@RequestMapping("/j")
HashMap home1() {
HashMap map=new HashMap();
map.put("id", 1);
return map;
}
public static void main(String [] args)throws Exception {
SpringApplication.run(Example.class,args);//运行的main
}
}
这里注意:
一@SpringBootApplication注解,它包括三个注解
1.@Configuration:表示将该类作用springboot配置文件类。
2.@EnableAutoConfiguration:表示程序启动时,自动加载springboot默认的配置。
3.@ComponentScan:表示程序启动是,自动扫描当前包及子包下所有类。
二.SpringBootApplication只会扫喵该类所在包下的所有包
内嵌了tomcat 运行main方法即可访问8080端口 不需要上下文路径
添加springmvc的控制类 cn.ps.controller 创建java类 默认springboot只会扫描启动类相同包或者子包中带有注解的bean
springboot整合redis
首先引入pom.xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
在src/main/resources包中创建application.properties(必须这个名字) 里面可以放置各种资源属性。属于预定大于配置
spring.redis.host=192.168.0.112
spring.redis.password=123456
在cn.ps.controller中创建RedisController.java
package cn.ps.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class RedisController {
@Autowired
StringRedisTemplate srt;//该方法继承了RedisTemplate,确定了Key/Value类型为String类型,并且实现了两个构造器。改用StringRedisSerializer来序列化数据库
@GetMapping("/redis")
public String redis() {
srt.boundValueOps("mysex").set("Man");
return srt.boundValueOps("mysex").get();
}
}
运行Example.java中的main方法 , 登录redis 查询 keys *
,得到键mysex
,输入get mysex
得到值Man
。
Springboot 整合mysql
首先引入pom.xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
在application.properties中配置资源
spring.datasource.url=jdbc:mysql://localhost/unit02
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
在cn.ps.controller中创建JdbcController.java
package cn.ps.controller;
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.ColumnMapRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import com.alibaba.druid.pool.DruidDataSource;
@RestController
public class JdbcController {
@Autowired
JdbcTemplate jdbc;//jdbc连接
@Autowired
DruidDataSource ds;
@GetMapping("/jdbc")
public List<Map<String,Object>> redis() {
List<Map<String,Object>> query=jdbc.query("select * from emp",new ColumnMapRowMapper());
return query;
}
}