Spring boot开发步骤 (包含jsp、mybatis、FastJSON整合)

  1. 项目创建好后 先导入jar 包
/*
注意 这个不能放在dependencies内部
必须放在dependencies外部
*/
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.8.RELEASE</version>
  </parent>
/*
这个是放在dependencies内部
*/
	<!-- web -->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <!-- 测试 -->
    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    </dependency>
    
    <!--整合mybatis-->
    <dependency>
      <groupId>org.mybatis.spring.boot</groupId>
      <artifactId>mybatis-spring-boot-starter</artifactId>
      <version>1.0.0</version>
    </dependency>
    	<!--连接池对象-->
    <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>druid</artifactId>
      <version>1.0.19</version>
    </dependency>
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.1.38</version>
    </dependency>
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>3.2.8</version>
    </dependency>
    <!--  ---------------------------------------------------------  -->
    <!--embed内嵌的tomcat提供jsp解析-->
    <dependency>
      <groupId>org.apache.tomcat.embed</groupId>
      <artifactId>tomcat-embed-jasper</artifactId>
     </dependency>
    <!--jstl标签库 用来在页面上展示值的  -->
    <dependency>
	    <groupId>javax.servlet.jsp.jstl</groupId>
	    <artifactId>jstl</artifactId>
	    <version>1.2</version>
    </dependency>
    
    
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.12</version>
      <scope>test</scope>
    </dependency>
    <!--整合jsp-->
    
  </dependencies>

  1. 创建 SpringApplication 类

注意 这个类必创建在和dao service entity 同包下

@SpringBootApplication
@MapperScan("com.yangyang.dao")//创建代理对象 找到你的dao对象
public class APP {
    public static void main(String[] args) {
        SpringApplication.run(APP.class,args);
    }
}
  • @SpringBootApplication:
    组合注解,由@Configuration+@EnableAutoConfiguration+@ComponentScan三个注解组成
    @ComponentScan(value = “****”):组件扫描 扫描Service、Controller注解。 默认扫描同级的所有包
    @EnableAutoConfiguration:开启自动配置
    @Configuration 加在类上,声明该类为配置类
    @Bean 加在方法上把返回值交给工厂管理

  1. Controller
//@RestController
@Controller
@RequestMapping("/user")
public class UserController {
    @Autowired
    private CounterService counterService;

    @RequestMapping("finAll")
    public String  finAll(HttpServletRequest request){
        List<Counter> counters = counterService.finAll();
        request.setAttribute("user",counters)
        return "index";//要跳转的页面
    }
 }

@RestController:这也是一个组合注解
由@Controller+@ResponseBody 组合
@Controller:当前类为控制器
@ResponseBody :当前返回值为json 底层采用 jackson来实现

有了 2、3之后就可以用网页访问了
注意

  • 访问的时候 springboot默认没有项目名
  • springboot 默认端口号为 8080

此处启动有可能报错 :

  • 端口号冲突
    原因: 可能本机装了oracle数据库,oracle 默认端口为8080 所以端口号冲突
    解决方案:创建 Springboot 的配置文件

  1. springboot配置文件

application.yml

server:
  context-path: /app    # 项目名 网页访问用  注意:**属性和值中间必须加空格
  						#建议和你的项目名保持一致
  port: 9999		    #端口号
  jsp-servlet:    
    init-parameters:
      development: true

 #mybatis 相关配置 数据源
  spring:
  datasource:
      username: root
      password: root
      driver-class-name: com.mysql.jdbc.Driver
      url: jdbc:mysql://localhost:3306/mage
      type: com.alibaba.druid.pool.DruidDataSource #数据源 阿里的数据源
  mvc:
      view:
      	prefix: /
      	suffix: .jsp
      #配置post请求的中文乱码
      http:
      	encpding:
      		charset: utf-8
      		force: true
      	#文件上传
      	multipart:
      		#单个文件的最大值
      		max-file-size: 100MB
      		#一次请求的最大值
      		max-request-size: 1000MB #最好是 max-file-size的十倍
mybatis:
  mapper-locations: com/yangyang/Mapper/*.xml  #指定Mapper文件的位置
  type-aliases-package: com.yangyang.entity		#起别名

配置文件这里,有一个配置文件切分:
  切分是把配置文件拆分成一个主配置文件和若干个小配置文件,
  小配置文件大概分为:测试环境的配置文件,和生产环境的配置文件。

spring:
	profiles:
	#小配置文件名application-test.yml,这里写 tst  
	active: 

  1. 写DAO、Service
    这里就不过多赘述了,还是像springmvc那样~

springboot在集成jsp后 页面不支持 热部署

在springboot 的设置项目名同级的地方 写上

server:
  context-path: /app
  port: 9999
   #写在这 对 就写在这
  jsp-servlet:
    init-parameters:
      development: true

#jsp页面中的取值
导入jstl标签库
之后 在jsp页面,下面以上述questAll方法为例

<%@page pageEncoding="utf-8" contentType="text/html;utf-8" isELIgnored="false"%>
<%@ prefic="c" uri="http://java.sun.com/jsp/jstl/core" %>

<html>
<body>
<c:forEach items="${requestScope.user}" var="user">
	名字:${user.name}<br/>
	密码:${user.password}<br/>
</c:forEach> 
</body>
</html>

Spring Boot 集成FastJSON

  1. 导jar包
<dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>fastjson</artifactId>
        <version>1.2.15  </version>
</dependency>
  1. 将下面代码复制进 带有@Configuration的类中
@Bean
public HttpMessageConverters fastjsonHttpMessageConverter(){
	//定义一个转换消息的对象
	FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
	//添加fastjson的配置信息 比如 :是否要格式化返回的json数据
	FastJsonConfig fastJsonConfig = new FastJsonConfig();
	fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);
	//在转换器中添加配置信息
	fastConverter.setFastJsonConfig(fastJsonConfig);
	HttpMessageConverter<?> converter = fastConverter;
	return new HttpMessageConverters(converter);
}

如何以插件的形式来启动springboot

在pom.xml中 < build >标签中插入

 <plugins>
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
      </plugin>
  </plugins>

下载完成后
插件方式去启动springboot

猜你喜欢

转载自blog.csdn.net/weixin_42780730/article/details/84111769