- 项目创建好后 先导入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>
- 创建 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 加在方法上把返回值交给工厂管理
- 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 的配置文件
- 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:
- 写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
- 导jar包
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.15 </version>
</dependency>
- 将下面代码复制进 带有@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>
下载完成后