Spring Boot 学习笔记(三)Spring boot 中的SSM

Spring boot 下的 Spring mvc

@Controller:即为Spring mvc的注解,处理http请求;

@RestController:Spring4后新增注解,是@Controller与@ResponseBody的组合注解,用于返回字符串或json数据;

package com.example.springbootweb.model;public class User {private int id;private String name;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}
}
package com.example.springbootweb.controller;import com.example.springbootweb.model.User;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
public class MVCController {@RequestMapping("/boot/getUser")public Object getUser(){User user =new User();user.setId(100);user.setName("王卫");return  user;}
}

@GetMapping:RequestMapping 和 Get请求方法的组合;

    //@RequestMapping(value = "/boot/getUser", method = RequestMethod.GET)//@GetMapping("/boot/getUser")

@PostMapping:RequestMapping 和 Post请求方法的组合;

@PutMapping:RequestMapping 和 Put请求方法的组合;

@DeleteMapping:RequestMapping 和 Delete请求方法的组合;

 

Spring boot 使用 JSP

pom.xml 添加依赖项

  <!--引入Spring Boot内嵌的Tomcat对JSP的解析包--><dependency><groupId>org.apache.tomcat.embed</groupId><artifactId>tomcat-embed-jasper</artifactId></dependency><!-- servlet依赖的jar包start --><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId></dependency><!-- jsp依赖jar包 --><dependency><groupId>javax.servlet.jsp</groupId><artifactId>javax.servlet.jsp-api</artifactId><version>2.3.1</version></dependency><!--jstl标签依赖的jar包 --><dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId></dependency></dependencies>

application.properties 添加配置

#前端视图展示jsp
spring.mvc.view.prefix=/
spring.mvc.view.suffix=.jsp

pom.xml build中要配置备注中的配置信息 

<build><plugins><!--springboot提供的项目编译打包插件--><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins><!--jsp打包编译--><resources><resource><directory>src/main/java</directory><includes><include>**/*.xml</include></includes></resource><resource><directory>src/main/resources</directory><includes><include>**/*.*</include></includes></resource><resource><directory>src/main/webapp</directory><targetPath>META-INF/resources</targetPath><includes><include>**/*.*</include></includes></resource></resources></build>

新建 Controller

package com.example.springbootweb.controller;import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;@Controller
public class JSPController {@GetMapping("/boot/index")public String index(Model model){model.addAttribute("msg","springboot 集成 jsp");return "index";}
}

在main文件下建立webapp文件

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Title</title>
</head>
<body>
${msg}
</body>
</html>

 

Spring boot 集成 MyBatis

1、在pom.xml中配置相关jar依赖。

<!-- 加载mybatis整合springboot -->
<dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>1.3.1</version>
</dependency><!-- MySQL的jdbc驱动包 -->
<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId>
</dependency>

2、在Springboot的核心配置文件 application.properties 中配置MyBatis的Mapper.xml文件所在位置:

#配置MyBatis的Mapper.xml文件所在位置
mybatis.mapper-locations=classpath:com/example/springbootweb/mapper/*.xml

3、在Springboot的核心配置文件application.properties中配置数据源:

spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test_db?useUnicode=true&characterEncoding=utf8&useSSL=false

4、在MyBatis的Mapper接口中添加@Mapper注解 或者 在运行的主类上添加 @MapperScan("com.bjpowernode.springboot.mapper") 注解包扫描

 

Spring boot 事务支持

1、在入口类中使用注解 @EnableTransactionManagement 开启事务支持;

2、在访问数据库的Service方法上添加注解 @Transactional 即可;

3、其实还是用spring 的事务管理。

转载于:https://www.cnblogs.com/lilb/p/10251579.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/351629.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c mysql日期时间格式_mysql日期和时间类型

TIME 类型TIME 类型用于只需要时间信息的值&#xff0c;在存储时需要 3 个字节。格式为 HH:MM:SS。HH 表示小时&#xff0c;MM 表示分钟&#xff0c;SS 表示秒。TIME 类型的取值范围为 -838&#xff1a;59&#xff1a;59&#xff5e;838&#xff1a;59&#xff1a;59&#xff0…

MySQL问题汇总

1.#include <mysql.h>编译出错 在阅读TrinityCore时&#xff0c;发现了解决方法和解释&#xff1a; #ifdef _WIN32 // hack for broken mysql.h not including the correct winsock header for SOCKET definition, fixed in 5.7 #include <winsock2.h> #endif #inc…

c++中union的使用,看高手们如何解释的

union主要是共享内存&#xff0c;分配内存以其最大的结构或对象为大小&#xff0c;即sizeof最大的。在C/C程序的编写中&#xff0c;当多个基本数据类型或复合数据结构要占用同一片内存时&#xff0c;我们要使用联合体&#xff1b;当多种类型&#xff0c;多个对象&#xff0c;多…

ibm aix_IBM AIX:Java进程大小监视

ibm aix本文将为您提供有关如何计算在IBM AIX 5.3 OS上运行的Java VM进程的Java进程大小内存占用量的快速参考指南。 这是我关于该主题的原始文章的补充文章&#xff1a; 如何在AIX上监视Java本机内存 。 我强烈建议所有参与生产支持或AIX上部署Java应用程序开发的人员阅读此书…

路由的使用

1 路由的基本使用: url是个函数,有四个参数,第一个参数要传正则表达式,第二参数传函数内存地址,第三个参数传默认参数,第四个是路由的别名 url(r^article/aa.html$, views.test), -路由从上往下匹配,一旦匹配成功,后面就不继续匹配了 2 路由的无名分组 url(r^test2/(\d)/(\w)$,…

Ps2022版DR5插件扩展窗口不展示及未正确签署等问题修复

前言 最近在安装DR5的时候遇到了一些报错问题&#xff0c;翻看了几篇文章找了一些实质性的方案&#xff0c;亲测有效&#xff0c;有同样问题的小伙伴自己对号入座哈。 窗口扩展不显示问题 问题 很多人第一次安装DR5时会发现这个【窗口-扩展】是灰色的&#xff0c;且没有DR5…

centos 编译mysql5.6_centos下编译安装MySQL5.6

&#xff0c;虚拟机centos6.5mini网络适配器“桥接模式”继续上一次的Apache编译后&#xff0c;编译安装MySQL5.6MySQL5.6和以前的版本不同之处在于用cmake就行编译&#xff0c;先安装cmake#yum install cmake -y1、开始下载编译MySQL5.6&#xff0c;推荐镜像网站http://mirror…

Spring Boot和多模块项目–添加模块特定的属性文件

你好&#xff01; 在本文中&#xff0c;我将向您展示几种如何在Spring Boot项目中添加模块特定的属性文件的方法。 它将介绍使属性文件可识别配置文件的手动方法以及可识别配置文件的半自动方法。 我的Github帐户上发布了一个示例项目&#xff08; https://github.com/coders-…

修改hostname有几种方式?

1&#xff1a; hostname DB-Server --运行后立即生效&#xff08;新会话生效&#xff09;&#xff0c;但是在系统重启后会丢失所做的修改 2&#xff1a; echo DB-Server > /proc/sys/kernel/hostname --运行后立即生效&#xff08…

Java高阶语法---final

背景&#xff1a;听说final Java高阶语法是挺进BAT必经之路。 final: final关键字顾名思义就是最终不可改变的。 1、含义&#xff1a;final可以声明成员变量、方法、类和本地变量&#xff1b;一旦将引用声明为final&#xff0c;此引用将不再被改变&#xff0c;编译器会检查代码…

mysql 以 db 结尾_MySQL的高级部分

1. MySQL的事务(1)存储引擎的介绍介绍&#xff1a;当客户端发送一条SQL语句给服务器时&#xff0c;服务器端通过缓存、语法检查、校验通过之后&#xff0c;然后会通过调用底层的一些软件组织&#xff0c;去从数据库中查询数据&#xff0c;然后将查询到的结果集返回给客户端&…

VisualBasic 版 (精华区)

发信人: zkboy (小小鸟), 信区: VisualBasic 标 题: Re: 请教&#xff1a;如何在VB中实现16进制数或10进制数与2进制&#xfffd;发信站: BBS 水木清华站 (Thu Jun 15 19:39:37 2000)转一篇相关资料在编程中&#xff0c;我们经常使用二进制(binary)、八进制(octal)、十进…

Vim求生

[TOC] Vim 是从 vi 发展出来的一个文本编辑器。其代码补完、编译及错误跳转等方便编程的功能特别丰富&#xff0c;在程序员中被广泛使用。和 Emacs 并列成为类 Unix 系统用户最喜欢的编辑器。 —— 维基百科 很多接触 Vim 的程序员应该都有过这样的经历&#xff1a; 受某大 V 的…

activemq 内存_ActiveMQ:了解内存使用情况

activemq 内存正如最近的一些邮件列表电子邮件和Google返回的许多信息所表明的那样&#xff0c;ActiveMQ的SystemUsage尤其是MemoryUsage功能使一些人感到困惑。 我将尝试解释有关MemoryUsage的一些细节&#xff0c;这些细节可能有助于理解它的工作方式。 我将不介绍StoreUsage…

osg动态加载模型不显示_OSG仿真案例(8)——读取FBX格式文件并显示(无动画)...

包含的头#include #include #include #include #include #include #include #include #include using namespace std;所需要的类(结构体)struct AnimationManagerFinder : public osg::NodeVisitor{osg::ref_ptr<:basicanimationmanager> _am;AnimationManagerFinder(){o…

用微服务和容器替换旧版Java EE应用程序服务器

Lightbend最近对2000多个JVM开发人员进行了调查&#xff0c;结果刚刚发布。 开展该调查的目的是发现&#xff1a;发展趋势与IT基础设施趋势之间的相关性&#xff0c;处于数字化转型前沿的组织如何使他们的应用程序现代化以及当今对新兴开发人员技术最为关注的实际生产使用情况细…

点分治经典_动态点分治

HYSBZ_3730_震波 背景&#xff1a;这是接触的动态点分治第一题&#xff0c;开始不是很理解&#xff0c;看了很久&#xff0c;写了很久才理解了动态的动态所在。前置知识&#xff1a;静态点分治&#xff08;主要是容斥思想&#xff0c;一般看出来是点分治的话&#xff0c;想到怎…

python settings模块导入不了_无法导入设置“myproject.settings”(是否在sys.path上?):没有名为pinax的模块...

我正试图让皮纳克斯在网络派系工作&#xff0c;有这么多的问题。。。[Sun Feb 19 20:01:20 2012] [error] [client 127.0.0.1] mod_wsgi (pid22796): Exception occurred processing WSGI script /home/pawesome/webapps/qtsocial/myproject.wsgi.[Sun Feb 19 20:01:20 2012] […

VS2012 颜色配置成黑色

效果展示&#xff1a; 步骤&#xff1a; 1、工具->选项->环境->常规->颜色体验 选为深色 2、在http://studiostyl.es/schemes/son-of-obsidian中&#xff0c;下载Son of Obsidian字体设置&#xff0c;然后 工具->导入和导出设置->导入选定的环境设置->…

@bzoj - 2388@ 旅行规划

目录 descriptionsolutionaccepted codedetailsdescription 请你维护一个序列&#xff0c;支持两种操作&#xff1a; &#xff08;1&#xff09;某个区间 [x, y] 内的数同时加上一个增量 k。 &#xff08;2&#xff09;询问某一个区间 [x, y] 中从 1 开始的最大前缀和。 input …