spring boot
spring boot配置
-
创建项目spring initializer,
-
写项目名称
-
选web中的spring web,template Tngines 中的thymeleaf,sql中的mysql driver和mybatis framewok
-
配置pom.xml文件:
[druid数据源]
-
配置application.properties文件,
url=jdbc:mysql://localhost/数据库名?useSSL=true(5.5以上的)&characterEncoding=UTF8&serverTimezone=Asia/Shanghai -
在templates中建立html文件
mvc
mvc是软件工程中的一种软件架构模式,它把软件系统分为模型,视图和控制器。
M:Model,模型。 JavaBean
完成具体的业务操作,如:查询数据库,封装对象
V:view视图。JSP、HTML等来进行数据展示
C:Controller控制器。 Servlet
获取View的请求
调用模型将数据交给视图进行展示
controller(控制器层)
类似于javaweb中的servlet
注:和application在同一目录中
加上@controller
@RequestMapping(value="gs",method = {RequestMethod.GET,RequestMethod.POST} )
//同时支持get,post
@ResponseBody
//要把值返回到本页面
public void getStudent(){
Student stu
}
view(视图层)
pojo类似于javabean,一个类中只有私有属性和get,set方法,快捷键alt+insert
一般一个po的类,对应一个数据库中一个表
model(模型)
三层架构
前后端分离
问题跨域访问过不去,前端的服务器过不去后端的服务器,
解决:在application中配置
package com.iss.day109;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.http.HttpMessageConverters;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.MediaType;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import org.springframework.web.filter.CorsFilter;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.alibaba.fastjson.support.config.FastJsonConfig;
import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter4;
@SpringBootApplication
@MapperScan("com.iss.day109.dao")
public class Day109Application {
public static void main(String[] args) {
SpringApplication.run(Day109Application.class, args);
}
private CorsConfiguration buildConfig() {
CorsConfiguration corsConfiguration = new CorsConfiguration();
corsConfiguration.addAllowedHeader("*");
corsConfiguration.addAllowedMethod("*");
corsConfiguration.addAllowedOrigin("*");
return corsConfiguration;
}
@Bean
public CorsFilter corsFilter() {
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
source.registerCorsConfiguration("/**", buildConfig());
return new CorsFilter(source);
}
}
项目运行
数据中右键scripted Extensions=>Generate POJOs.groovy可以直接生成pojo的类
- pojo中写数据库的数据
- dao中新建接口,接口中添加component
操作数据库, - controller将数据发送到前端
(1)DAO(mapper),DAO= Data Acess Object, 数据持久层,对数据库进行持久化操作,负责跟数据库打交道。通常我们在DAO层里写接口,里面有与数据打交道的方法。SQL语句通常写在mapper文件里。
(2)Service,业务层或服务层,主要负责业务模块的逻辑应用设计。 Service层的实现,具体调用到已经定义的DAO接口,封装service层的业务逻辑有利于通用的业业务逻辑的独立性和重复利用性。如果把Dao层当作积木,那么Service层则是对积木的搭建。
(3)Controller, 负责具体的业务模块流程的控制。此层要调用Service层的接口去控制业务流程。
(4)Pojo 全称Plain Ordinary Java Object ,数据库实体类,有的地方也直接写成entity。也可以理解为domain,一般是跟数据库对应好的一个实体类。
(5)Bo ,bussiness object,表示业务对象的意思。bo就是把业务逻辑封装成一个对象,这个对象可以包括一个或多个对象。通过调用dao方法,结合Po或Vo进行业务操作。
(6)Vo ,value object表示值对象的也i是,通常用于业务层之间的数据传递。
(7)Po, persistant object, 代表持久层对象的意思,对应数据库中表的字段,可以理解为一个po就是数据库中的一条记录。
(8)Impl 全称是 implement, 实现的意思,主要用于实现接口。