首页 / JAVA / JAVA框架之Springboot
JAVA框架之Springboot
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了JAVA框架之Springboot,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含7327字,纯文字阅读大概需要11分钟。
内容图文
![JAVA框架之Springboot](/upload/InfoBanner/zyjiaocheng/646/f786aa0dec0045dba6173b2dcf3b8cb6.jpg)
启动
- springboot项目不同于Servlet的Web项目,本质上是一个Java应用程序,不需要手动启动Tomcat,而是通过java类的主方法,因为这个类把Tomcat嵌入去了打包方式为jar或者war
配置文件
- 位于
src/main/resources/application.properties
,也可在idea指定配置文件的文件名(Envirnment variables) - 支持多配置文件,可以切换不同配置文件
- properties
#配置端口上下文
server.port=8888
server.context-path=/test
#配置数据库链接参数
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/ksea?characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
# 引入jsp,重定向
spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp
一些常用的注解
- @SpringBootApplication:该注解表明这是一个Springboot应用
- @RestControllerspring:MVC一个控制器注解,为@ResponseBody和@Controller的缩写
- @Controller:处理http请求,返回的不是字符串而是根据application.properties 中的视图重定向
- @RequestMapping:配置url映射,即访问什么路径时拦截起效
- @AtuoWried:注入
热部署
- springboot修改后必须重启才能生效,应用了热部署后当任何类修改后马上通过JVM类加载的方式,不需要重启也可以看到修改后的效果
- 添加maven的一个依赖和一个插件
接着修改IDEA的设置才可以生效:
1-File” -> “Settings” -> “Build,Execution,Deplyment” -> “Compiler”,选中打勾 “Build project automatically”
2-组合键:“Shift+Ctrl+Alt+/” ,选择 “Registry” ,选中打勾 “compiler.automake.allow.when.app.running”
1.依赖
<!--热部署-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional> <!-- 这个需要为 true 热部署才有效 -->
</dependency>
2.插件
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
对于jsp的支持
- 添加相关maven的依赖
<!--jsp页面使用jstl标签-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
<!--tomcat依赖,用于编译jsp-->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
- 编辑配置文件
在src/main/resources 目录下增加 application.properties文件,用于视图重定向jsp文件的位置。内容为配置返回文件的路径以及类型
#重定向
spring.mvc.view.prefix: /WEB-INF/jsp/
spring.mvc.view.suffix: .jsp
- jsp文件存放于web文件夹时会报错,webapp正常
持久层支持
JPA
特点:自动建表,内置sql语句,通过dao层调用即可
流程:配置pom添加相关依赖-配置文件中配置数据库-建立pojo实体类-建立dao层接口-建立控制器
注解:@Entity,@Table,@Column,@GenneratedValue
父类:JpaRepository
配置:配置文件中配置数据库,配置url,username,password,driver-class-name,开启自动生成表
- pom配置
<!-- mysql-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.21</version>
</dependency>
<!-- jpa-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
- pojo类
- 添加注解@Entity表明为实体,@Table(name="")指定相关表
- 对于变量用@Column指定数据库中变量对应的列名称,设置列的属性(是否自增长等)
@Entity
@Table(name = "category")
public class Category {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private int id;
@Column(name = "name")
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;
}
}
- dao接口
- 继承JpaRepository
public interface CategoryDAO extends JpaRepository<Category,Integer>{}
- controller类
- 使用@Controller注解表明是一个控制器
- 通过@Autowired把DAO层注入
- 使用@RequestMapping("url")拦截映射url
- 通过相关Dao调用
@Controller
public class CategoryController {
@Autowired
CategoryDAO categoryDAO;
@RequestMapping("/listCategory")
public String listCategory(Model model){
List<Category> categoryList = categoryDAO.findAll();
model.addAttribute("categoryList",categoryList);
return "listCategory";
}
}
Mybatis-注解
特点:自由编写sql语句,通过注解使用
流程:配置pom添加相关依赖-配置文件中配置数据库-建立pojo实体类-建立mapper接口-建立controller类
注解:@Mapper,@Select,@Insert,@Update,@Delete
- propert配置
- 配置文件中配置数据库,配置url,username,password,driver-class-name
#数据库配置
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/ksea?characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
- pom配置
<!-- mysql-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.21</version>
</dependency>
<!-- mybatis -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.1.1</version>
</dependency>
</dependencies>
- pojo类
- 普通实体类,变量即可,无需注解
public class Category {
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;
}
}
- mapper接口
- @Mapper接口表明
- @Select("sql")注解用于方法上,通过controller调用该方法即可调用相关注解的sql
@Mapper
public interface CategoryMapper {
@Select("select * from category")
List<Category> findAll();
}
- controllre类
- 注解dao层,通过dao层调用注解了的sql方法
@Controller
public class CategoryController {
@Autowired
CategoryMapper categoryMapper;
@RequestMapping("/listCategory")
public String listCategory(Model m) throws Exception {
List<Category> cs=categoryMapper.findAll();
m.addAttribute("cs", cs);
return "listCategory";
}
}
Mybatis-xml
特点:自由编写sql,结合xml
流程:配置pom添加相关依赖-pom中配置xml路径-配置文件中配置数据库-配置文件中配置数据库xml路径-建立pojo实体类-建立mapper接口-建立mapper对应的xml-建立controller类
注解:@Mapper
- 常见错误
- 报500,找不到mapper,未能在pom和properties中的文件中正确配置mapper.xml的路径
- properties
- 配置重定向
- 配置文件中配置数据库,配置url,username,password,driver-class-name
- 配置mybatis的xml路径
#重定向
spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp
#数据库配置
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/ksea?characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
#配置mybatis的xml路径
mybatis.mapper-locations=classpath:com/ksea/mapper/*.xml
mybatis.type-aliases-package=com.ksea.pojo
- pom配置
- 这里也要配置一下xml路径,我也不懂 qaq
- 导入数据库依赖
#依赖
<!-- mysql-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.21</version>
</dependency>
<!-- mybatis -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.1.1</version>
</dependency>
#xml路径
<build>
<!--xml路径配置-->
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
</build>
- pojo实体类
- mapper接口
- mapper.xml
- namespace="",指定相关Mapper接口位置
- id="",通过id和sql相关方法关联,resultType="",指定返回类型
<?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.ksea.mapper.CategoryMapper">
<select id="findAll" resultType="Category">
select * from category
</select>
</mapper>
controller控制类
单元测试
特点:不需要全项目测试,单独测试某一功能
流程:pom中添加相关依赖-编写测试类
注解:@RunWith(SpringRunner.class),@SpringBootTest(classes = Application.class),@Test
内容总结
以上是互联网集市为您收集整理的JAVA框架之Springboot全部内容,希望文章能够帮你解决JAVA框架之Springboot所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。