美文网首页我爱编程
Spring Boot的各种关键字,方法的用法

Spring Boot的各种关键字,方法的用法

作者: coderFamer | 来源:发表于2018-04-17 11:07 被阅读170次

示例 使用CrudRepository接口访问数据

创建一个新的Maven项目,命名为crudrepositorytest。按照Maven项目的规范,在src/main/下新建一个名为resources的Folder。

(1) 修改pom.xml文件。

在pom.xml文件中增加web开发的启动器配置如下:

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-web</artifactId>

</dependenc>

最后需要加spring-boot-starter-data-jpa,它是Spring Boot项目访问数据库的核心依赖配置,加入此配置后,系统会自动导入Spring Data相关的核心数据访问接口包,以及Hibernate框架相关的依赖包,该配置如下:

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-data-jpa</artifactId>

</dependency>

配置基本属性

在src/main/resources包下新建一个全局配置文件,命名为application.properties,在该配置文件中配置数据源和jpa相关的属性:

数据库地址

spring.datasource.url = jdbc:mysql://localhost:3306/springdatajpa

用户名

spring.datasource.username = root

密码

spring.datasource.password =

数据库驱动

spring.datasource.driverClassName = com.mysql.jdbc.Driver

指定连接池中最大的活跃连接数.

spring.datasource.max-active=20

指定连接池最大的空闲连接数量.

spring.datasource.max-idle=8

指定必须保持连接的最小值

spring.datasource.min-idle=8

指定启动连接池时,初始建立的连接数量

spring.datasource.initial-size=10

JPA持久化配置

指定数据库的类型

spring.jpa.database = MYSQL

指定是否需要在日志中显示sql语句

spring.jpa.show-sql = true

指定自动创建|更新|验证数据库表结构等配置,配置成update

表示如果数据库中存在持久化类对应的表就不创建,不存在就创建对应的表

spring.jpa.hibernate.ddl-auto = update Naming strategy

指定命名策略

spring.jpa.hibernate.naming-strategy = org.hibernate.cfg.ImprovedNamingStrategy

指定数据库方言

spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect

AJAX: 是一种用于创建快速动态网页的技术。是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术

AJAX调用,@ResponseBody   返回一个指定格式(如JSON或者XML)

@Controller 提供给前台调用,就要使用该注解

@PathVariable用法(和@RequestParam作用一样)

@PathVariable用法

@RestController 不管页面好没好,都可以吧返回值显示在页面中(调试的时候常用)

@Value(“${XXurl}”)    将url配置在application.property里,方便修改和查找维护。

@RequestMapping 用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。如: @RequestMapping("/index")

@requestparam    用来接收前端请求过来的参数(GET 方式)

@requestBody    主要用来接收前端请求来的POST参数

                            如果有一个User类包含:userName,pwd字段。@requestBody User user 这种形式会将JSON字符串中的值赋予user中对应的属性上。需要注意的是,JSON字符串中的key必须对应user中的属性名,否则是请求不过去的。

$.ajax({

            url:"/login",     

   type:"POST",                    data:'{"userName":"admin","pwd","admin123"}',                    content-type:"application/json charset=utf-8",                    success:function(data){

                    alert("request success ! ");    

   }

});

//JAVA

requestMapping("/login")

public void login(@requestBody String userName,@requestBody String pwd){   System.out.println(userName+" :"+pwd);

}

//如果参数较少,不需要用类接收参数,接收到的是JSON字符串

public void login(@RequestBody(required = false) String userName,String pwd){   System.out.println(userName+" :"+pwd);}

@Mapper

@Entity  用于标记持久化类,Spring Boot项目加载后会自动根据持久化类建表

@Id指定主键. 使用代码@GeneratedValue(strategy=GenerationType.AUTO) 

指定主键的生成策略,mysql默认的是自增长。

如:

@Id

@GeneratedValue(strategy =GenerationType.AUTO)

private int id;// 主键.

private String userName;

private String loginName;

private char sex;

public int getId(){

return id;

}

public void setId(int id){

this.id = id;

}

.......

在web程序开发中,前端和服务器数据的传输方式常用的有两种,一种是以表单的形式提交,此时可以利用jquery的serialize()方法将表单内容转为

“a=1&b=2&c=3&d=4&e=5&name=zhangsan”

这样的格式传输过去,接收端则可以用javabean直接接收。

还有一种方式是以json格式传输,接收时若直接用bean接收则接收不到,此时应该用@RequestBody方式,需要注意的是接收的需要是json串,而不是json对象,可以在发送前使用JSON.stringify函数进行处理。

@component (把普通实体类,实例,实例化到spring容器中, 注册成组件,交给Spring管理,无需new)

@autowaire 可以把它当成new一个对象就行。

@Autowired

Spring的便利,优点就在这里:component注册组件后Spring管理,全局使用该实体类的时候使用@Autowaire 就可以获取。

--------------------------持续更新,喵~

相关文章

网友评论

    本文标题:Spring Boot的各种关键字,方法的用法

    本文链接:https://www.haomeiwen.com/subject/ydqukftx.html