springboot.docx

上传人:b****8 文档编号:10032663 上传时间:2023-02-08 格式:DOCX 页数:30 大小:799KB
下载 相关 举报
springboot.docx_第1页
第1页 / 共30页
springboot.docx_第2页
第2页 / 共30页
springboot.docx_第3页
第3页 / 共30页
springboot.docx_第4页
第4页 / 共30页
springboot.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

springboot.docx

《springboot.docx》由会员分享,可在线阅读,更多相关《springboot.docx(30页珍藏版)》请在冰豆网上搜索。

springboot.docx

springboot

SpringBoot知识点大纲

●Spring发展史

●SpringBoot简介

●SpringBoot环境搭建

●SpringBoot整合mybatis

●SpringBoot开发

●SpringBoot整合redis

Spring发展史

Spring1.x时代

在Spring1.x时代,都是通过xml文件配置bean,随着项目的不断扩大,需要将xml配置分放到不同的配置文件中,需要频繁的在java类和xml配置文件中切换。

Spring2.x时代

随着JDK1.5带来的注解支持,Spring2.x可以使用注解对Bean进行声明和注入,大大的减少了xml配置文件,同时也大大简化了项目的开发。

那么,问题来了,究竟是应该使用xml还是注解呢?

最佳实践:

1、应用的基本配置用xml,比如:

数据源、资源文件db.properties等;

2、业务开发用注解,比如:

Service中注入bean等;

Spring3.x到Spring4.x

从Spring3.x开始提供了Java配置方式,使用Java配置方式可以更好的理解你配置的Bean,现在我们就处于这个时代,并且Spring4.x和Springboot都推荐使用java配置的方式。

Java配置是Spring4.x推荐的配置方式,可以完全替代xml配置。

@Configuration和@Bean和@ComponentScan

Spring的Java配置方式是通过@Configuration和@Bean@ComponentScan这两个注解实现的:

1、@Configuration作用于类上,相当于一个xml配置文件;

2、@Bean作用于方法上,相当于xml配置中的标签;

3、@ComponentScan作用于类上,扫描包;

创建Maven项目添加依赖

org.springframework

spring-webmvc

4.1.6.RELEASE

--连接池-->

com.alibaba

druid

1.0.14

${project.artifactId}

--资源文件拷贝插件-->

org.apache.maven.plugins

maven-resources-plugin

UTF-8

--java编译插件-->

org.apache.maven.plugins

maven-compiler-plugin

1.7

1.7

UTF-8

--配置Tomcat插件-->

org.apache.tomcat.maven

tomcat7-maven-plugin

2.2

定义一个实体类

packagecom.bjsxt.springboot.javaconfig;

publicclassUser{

privateStringusername;

privateStringpassword;

privateIntegerage;

publicStringgetUsername(){

returnusername;

}

publicvoidsetUsername(Stringusername){

this.username=username;

}

publicStringgetPassword(){

returnpassword;

}

publicvoidsetPassword(Stringpassword){

this.password=password;

}

publicIntegergetAge(){

returnage;

}

publicvoidsetAge(Integerage){

this.age=age;

}

publicUser(Stringusername,Stringpassword,Integerage){

super();

this.username=username;

this.password=password;

this.age=age;

}

publicUser(){

super();

//TODOAuto-generatedconstructorstub

}

}

定义一个类UserDao,在类中添加一个方法.

packagecom.bjsxt.springboot.javaconfig;

importjava.util.ArrayList;

importjava.util.List;

/**

*@ClassName:

UserDao

*@Description:

*@Company:

北京尚学堂科技有限公司

*@authormengqx

*@date2017年9月14日

*/

publicclassUserDao{

publicListqueryUserList(){

Listresult=newArrayList();

//模拟数据库的查询

result.add(newUser("admin","123",12));

result.add(newUser("马蓉","不离婚",38));

result.add(newUser("宋哲","被抓了",28));

returnresult;

}

}

定义一个类UserService,调用UserDao类中的方法.

packagecom.bjsxt.springboot.javaconfig;

importjava.util.List;

importorg.springframework.beans.factory.annotation.Autowired;

importorg.springframework.stereotype.Service;

/**

*@ClassName:

UserService

*@Description:

*@Company:

北京尚学堂科技有限公司

*@authormengqx

*@date2017年9月14日

*/

@Service

publicclassUserService{

@Autowired//注入Spring容器中的bean对象

privateUserDaouserDAO;

publicListqueryUserList(){

//调用userDAO中的方法进行查询

returnthis.userDAO.queryUserList();

}

}

编写添加配置文件类

packagecom.bjsxt.springboot.javaconfig;

importorg.springframework.context.annotation.Bean;

importorg.springframework.context.annotation.ComponentScan;

importorg.springframework.context.annotation.Configuration;

/**

*@ClassName:

SpringConfig

*@Description:

*@Company:

北京尚学堂科技有限公司

*@authormengqx

*@date2017年9月14日

*/

@Configuration

@ComponentScan(basePackages="com.bjsxt.springboot.javaconfig")

publicclassSpringConfig{

@Bean//通过该注解来表明是一个Bean对象,相当于xml中的

publicUserDaogetUserDAO(){

returnnewUserDao();//直接new对象做演示

}

}

测试:

packagecom.bjsxt.springboot.javaconfig;

importjava.util.List;

importorg.springframework.context.annotation.AnnotationConfigApplicationContext;

/**

*@ClassName:

Main

*@Description:

*@Company:

北京尚学堂科技有限公司

*@authormengqx

*@date2017年9月14日

*/

publicclassMain{

publicstaticvoidmain(String[]args){

//通过Java配置来实例化Spring容器

AnnotationConfigApplicationContextcontext=newAnnotationConfigApplicationContext(SpringConfig.class);

//在Spring容器中获取Bean对象

UserServiceuserService=context.getBean(UserService.class);

//调用对象中的方法

Listlist=userService.queryUserList();

for(Useruser:

list){

System.out.println(user.getUsername()+","+user.getPassword()+","+user.getPassword());

}

//销毁该容器

context.destroy();

}

}

SpringBoot简介

什么是SpringBoot

SpringBoot的优缺点

官网:

http:

//projects.spring.io/spring-boot/

SpringBoot环境搭建

创建maven项目

导入springboot依赖

//maven.apache.org/POM/4.0.0"xmlns:

xsi="http:

//www.w3.org/2001/XMLSchema-instance"xsi:

schemaLocation="http:

//maven.apache.org/POM/4.0.0http:

//maven.apache.org/xsd/maven-4.0.0.xsd">

4.0.0

com.bjsxt

springdeom

0.0.1-SNAPSHOT

--导入springboot相关依赖-->

org.springframework.boot

spring-boot-starter-parent

1.5.7.RELEASE

--springboot支持mvcaop-->

org.springframework.boot

spring-boot-starter-web

创建springboot主程序入口

Springboot主程序类,必须在包的顶层。

packagecom.bjsxt;

importorg.springframework.boot.SpringApplication;

importorg.springframework.boot.autoconfigure.SpringBootApplication;

importorg.springframework.web.bind.annotation.RequestMapping;

/**

*@ClassName:

SpringBootDemo

*@Description:

*@Company:

北京尚学堂科技有限公司

*@authormengqx

*@date2017年9月7日

*/

@SpringBootApplication

publicclassSpringBootDemo{

publicstaticvoidmain(String[]args){

//启动springboot应用程序同时,同时启动tomcat。

SpringApplication.run(SpringBootDemo.class,args);

}

}

创建一个controller

返回基本数据类型:

//@RestController即可用代理restful风格,同时也有Controller功能,还有@ResponseBody的功能

@RestController

publicclassUserController{

@RequestMapping("index")

publicStringindex(){

return"helloStringboot";

}

}

返回实体类对象

@RequestMapping("getUser")

publicUsergetUser(){

returnnewUser(1,"admin","123");

}

返回list集合对象,同时也可以返回一个map集合

@RequestMapping("lists")

publicListfindAll(){

Listlist=newArrayList<>();

list.add(newUser(1,"0张三丰","123"));

list.add(newUser(2,"1张三丰","123"));

list.add(newUser(3,"2张三丰","123"));

list.add(newUser(4,"3张三丰","123"));

returnlist;

}

SpringBoot+mybatis

创建目录结构

添加mybatis的依赖

--springboot+mybatis-->

org.mybatis.spring.boot

mybatis-spring-boot-starter

1.1.1

--数据库驱动-->

mysql

mysql-connector-java

5.1.39

创建mapper,service,controller

publicinterfaceUserMapper{

ListfindAll();

}

publicinterfaceUserService{

ListfindAll();

}

@Service

publicclassUserServiceImplimplementsUserService{

@Autowired

privateUserMapperuserMapper;

@Override

publicListfindAll(){

returnuserMapper.findAll();

}

}

@RestController

publicclassUserController{

@Autowired

privateUserServiceuserService;

/**

*

*@Description:

整合mybatis的查询所有数据。

*@return

*@authormengqx

*@date2017年9月7日

*/

@RequestMapping("getAll")

publicListgetAll(){

Listlist=userService.findAll();

returnlist;

}

}

创建Mapper的映射文件

xmlversion="1.0"encoding="UTF-8"?

>

DOCTYPEmapper

PUBLIC"-//mybatis.org//DTDMapper3.0//EN"

"http:

//mybatis.org/dtd/mybatis-3-mapper.dtd">

select*fromt_userorderbyid;

创建数据库连接配置文件application.properties

application.properties是springboot项目的核心配置文件,xxx.yml这种配置文件。

spring.datasource.url=jdbc:

mysql:

//localhost:

3306/mybatis

spring.datasource.username=root

spring.datasource.password=root

spring.datasource.driver-class-name=com.mysql.jdbc.Driver

#mybaits.type-aliases-package=com.bjsxt.pojo

mybatis.mapper-locations=classpath:

mapper/*Mapper.xml

测试:

新添加一个注解扫描

@MapperScan("com.bjsxt.mapper")

@SpringBootApplication

@MapperScan("com.bjsxt.mapper")

publicclassSpringBootDemo{

publicstaticvoidmain(String[]args){

//启动springboot应用程序同时,同时启动tomcat。

SpringApplication.run(SpringBootDemo.class,args);

}

}

修改数据库连接配置文件application.properties

spring.datasource.url=jdbc:

mysql:

//localhost:

3306/mybatis

spring.datasource.username=root

spring.datasource.password=root

spring.datasource.driver-class-name=com.mysql.jdbc.Driver

测试:

@SpringBootApplication

@MapperScan("com.bjsxt.mapper")

publicclassSpringBootDemo{

publicstaticvoidmain(String[]args){

//启动springboot应用程序同时,同时启动tomcat。

SpringApplication.run(SpringBootDemo.class,args);

}

}

Mybatis-注解开发:

不推荐使用

publicinterfaceUserMapper{

@Select("select*fromt_userorderbyid")

ListfindAll();

}

@Mapper和@MapperScan("com.bjsxt.mapper")比较

@Mapper:

放在接口上。

每个接口必须有自己的Mapper注解

@Mappe

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > IT认证

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1