hi,你好!欢迎访问本站!登录
本站由网站地图腾讯云宝塔系统阿里云强势驱动
当前位置:首页 - 教程 - 杂谈 - 正文 君子好学,自强不息!

Spring框架进修笔记(5)——Spring Boot建立与运用

2019-11-18杂谈搜奇网28°c
A+ A-

Spring Boot能够更加轻易地搭建一个Web体系,以后服务器上布置也较为轻易

建立Spring boot项目

1. 运用IDEA建立项目

2. 修正groupid和artifact

3. 一起next,自动IDEA就会自动下载依靠的jar包

4. 运转

以后运转项目(Application类),翻开http://localhost:8080就会涌现下面的白板页面,申明已设置胜利

项目构造申明及运用

项目构造申明


我们能够瞥见项目中是如许的构造,Spring boot内置了tomcat服务器,所以,我们能够直接经由过程application来启动

SpringbootdemoApplication

package com.wan.springbootdemo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class SpringbootdemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringbootdemoApplication.class, args);
    }
}

能够看到SpringbootdemoApplication中的代码比较简单,运用了一个注解SpringBootApplication,用来标注当前类是Spring boot的进口类,以后经由过程SpringApplication.run启动

SpringBootApplication注解中也是内置了几个spring的注解,翻开个中能够看到

@SpringBootConfiguration 示意该类是一个设置类

@EnableAutoConfiguration 启用自动设置,比方增加了spring-boot-starter-web依靠,会自动增加Tomcat和SpringMVC的依靠,SpringBoot会对Tomcat和SpringMVC举行自动设置.

@ComponentScan 能扫描当前包及其子包中的类 即com.lanqiao.springboot.tutorials包及其子包下的一切的组件类。

spring boot运用一个封装的注解,把之前我们得运用注解和设置文件去设置spring的步骤都省去了,springboot不仅让我们的编码是轻量级的,而且也把我们的设置变成了轻量级

控制器运用

之前运用springmvc框架,我们写一个controller,得在设置文件中开启自动扫描,然后controller类中运用controller注解举行标明,而运用spring boot则不须要这么烦琐,只须要标注上一个@RestController注解即可

注解RestController包含了Controller和ResponseBody,返回的实体类或许List都邑转为json数据

这里能够运用spring boot中的注解,也能够运用spring mvc的注解RequestMappingResponseBody

package com.wan.springbootdemo.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author StarsOne
 * @date Create in  2019/10/17 0017 18:24
 * @description
 */
@RestController
public class UserController {
    @RequestMapping("user/data")
    public String getData() {
        return "this is returning data";
    }
}

然后经由过程接见localhost:8080/user/data就能够看到返回的数据

修正context项目地点

上面的项目接口中,我们能够看到一个名为application.properties的文件,内里能够用来举行一些设置,如context上下文,port端口号

补充:spring boot中除了运用properties这类文件举行设置,还能够运用yml文件

我在个中增加了下面的代码,就是用来设置context

server.servlet.context-path=/springbootdemo

以后上面的controller的接见地点就会变为了localhost:8080/springbootdemo/user/data

去除spring boot启动图标

启动的时刻,敕令行会涌现一个Spring Boot的页面

不知道为何,我这里启动的图标怎么看都不像Spring Boot。。

我们想要去除这个图标,能够修正application中的启动体式格局来到达目标

package com.wan.springbootdemo;

import org.springframework.boot.Banner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class SpringbootdemoApplication {

    public static void main(String[] args) {
        SpringApplication springApplication = new SpringApplication(SpringbootdemoApplication.class);
        // 去除启动控制台Spring Boot的图标
        springApplication.setBannerMode(Banner.Mode.OFF);
        springApplication.run(args);

    }

}

热布置

想要完成修正文件,而不想要重启application,能够举行热布置设置,设置很简单,只须要增加下面的这个依靠即可(之前建立项目标时刻实在已增加了此依靠

<!-- 自动加载SpringBoot的变动 无需重启指导类 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <optional>true</optional>
</dependency>

能够还须要举行下面的运转设置:

整合MyBatis

1.增加依靠

增加下面的依靠
```
<!-- 运用mybatis-->
<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>2.1.0</version>
</dependency>
```

2.创表、创实体类和mapper

创表和建立实体类,另有建立对应的mapper.xml和mapper.java文件

这里须要注重,mapper接口文件须要加上注解@Repository,须要spring举行治理,以后我们须要一个对应的Service.java,包含着mapper接口,运用spring把mapper自动装载

package com.wan.mofang.service;
import com.wan.mofang.mapper.UserMapper;
import com.wan.mofang.model.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
 * @author StarsOne
 * @date Create in  2019/10/28 0028 22:46
 * @description
 */
@Service
public class UserService {
    @Autowired
    UserMapper userMapper;//自动装载的对象
    
    public List<User> selectAll(User user) {
        return userMapper.selectAll(user);
    }
}

UserController.java

package com.wan.mofang.controller;

import com.wan.mofang.model.User;
import com.wan.mofang.service.UserService;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

/**
 * @author StarsOne
 * @date Create in  2019/10/28 0028 22:54
 * @description
 */
@RestController
@RequestMapping("/user")
public class UserController {
    @Autowired
    private UserService userService;//自动装载

    @RequestMapping("selectAll")
    public List<User> selectAll(User user) {
        return userService.selectAll(user);
    }
    
    
}

PS:这里,须要注重的,如果是传入一个实体类,url传入的参数名要与User中的成员变量名一致,如果是String范例或许是Int范例,则url传入的参数则与参数名对应

若有下面的一个controller内里要领:

@RequestMapping("selectAll")
public List<User> selectAll(String username) {
    return userService.selectAll(user);
}

传入的url为url=xx?username=xx

3.修正设置文件

这里运用yml来设置,固然,运用properties文件也能够,依据实际情况,举行修正(修正application-dev.yml)

application.yml

spring:
  profiles:
    active: dev

application-dev.yml

server:
  port: 端口号,默许不写就是8080
  servlet:
    context-path: 项目上下文
spring:
  datasource:
    username: 数据库用户名
    password: 数据库暗码
    url: 数据库地点
    driver-class-name: oracle驱动
mybatis:
  mapper-locations: classpath:mapping/*Mapper.xml
  type-aliases-package: 彷佛设置了别号没有启动作用
#showSql
logging:
  level:
    com:
      example:
        mapper : debug

4.开启自动扫描

在Spring Boot启动类运用注解MapperScan,参数为mapper.java文件地点的包,就会自动扫描并生成mapper的bean对象

package com.wan.mofang;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@MapperScan("com.wan.mofang.mapper")
@SpringBootApplication
public class MofangApplication {

    public static void main(String[] args) {
        SpringApplication.run(MofangApplication.class, args);
    }

}

Junit测试

直接建立一个进口类的对应的Test,以后运用上注解SpringBootTest,指定进口类,以后,须要的文件运用注解Autowired举行自动装载,

@SpringBootTest(classes = MofangApplication.class)
class MofangApplicationTests {
    @Autowired
    UserService userService;
    
    @Test
    void testSelectALl(){
        List<User> user = userService.selectALl();
        ...
    }
    
}
  选择打赏方式
微信赞助

打赏

QQ钱包

打赏

支付宝赞助

打赏

  移步手机端
Spring框架进修笔记(5)——Spring Boot建立与运用

1、打开你手机的二维码扫描APP
2、扫描左则的二维码
3、点击扫描获得的网址
4、可以在手机端阅读此文章
未定义标签

本文来源:搜奇网

本文地址:https://www.sou7.cn/282099.html

关注我们:微信搜索“搜奇网”添加我为好友

版权声明: 本文仅代表作者个人观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。请记住本站网址https://www.sou7.cn/搜奇网。

发表评论

选填

必填

必填

选填

请拖动滑块解锁
>>