剩下的都是些简单的东西了,也不需要什么代码,所以就像笔记一样。
Spring-boot多环境配置
我们都知道application.properties是配置文件,它里面有一个属性用于指定配置文件:
#这里的dev是application-dev.properties文件后面的那个字段 #我这里还可以是pro的生产环境 test的测试环境 spring.profiles.active=dev #spring.profiles.active=test #spring.profiles.active=pro
拷贝多份即可

如何验证?更改下端口进行测试,比如application-dev.properties内容:
#端口号修改 server.port=8081
然后访问下看是不是端口修改了。
Spring-boot跨域访问

可以使用过滤器实现,也可以是Config注解,详看:https://www.jianshu.com/p/e57ed1ee3070
import org.springframework.stereotype.Component;
import javax.servlet.*;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@Component
public class CorsFilter implements Filter {
@Override
public void doFilter(ServletRequest req, ServletResponse res,
FilterChain chain) throws IOException, ServletException {
HttpServletResponse response = (HttpServletResponse) res;
response.setHeader("Access-Control-Allow-Origin", "*");
response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE,PUT");
response.setHeader("Access-Control-Max-Age", "3600");
response.setHeader("Access-Control-Allow-Headers", "x-requested-with");
chain.doFilter(req, res);
}
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
@Override
public void destroy() {
// TODO Auto-generated method stub
}
}此时再访问,就是不一样的了

Spring-boot数据验证
User类加上一些注解:
public class User {
private Integer id;
//验证不为空
//验证长度2-8
@NotNull(message = "用户名为空")
@Size(min = 2,max = 8,message = "用户长度2-8位")
private String name;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}添加一个入口:
@RequestMapping("user")
@ResponseBody
public User user(@Valid User user) {
//TODO 具体业务逻辑
return user;
}然后可以访问试试。需要验证的参数加上注解@Valid。
常见的字段注解如下:
@null 验证对象是否为空 @notnull 验证对象是否为非空 @asserttrue 验证 boolean 对象是否为 true @assertfalse 验证 boolean 对象是否为 false @min 验证 number 和 string 对象是否大等于指定的值 @max 验证 number 和 string 对象是否小等于指定的值 @decimalmin 验证 number 和 string 对象是否大等于指定的值,小数存在精度 @decimalmax 验证 number 和 string 对象是否小等于指定的值,小数存在精度 @size 验证对象(array,collection,map,string)长度是否在给定的范围之内 @digits 验证 number 和 string 的构成是否合法 @past 验证 date 和 calendar 对象是否在当前时间之前 @future 验证 date 和 calendar 对象是否在当前时间之后 @pattern 验证 string 对象是否符合正则表达式的规则 @Email 验证邮箱
实际例子:
@size (min=3, max=20, message="用户名长度只能在3-20之间")
@size (min=6, max=20, message="密码长度只能在6-20之间")
@pattern (regexp="[a-za-z0-9._%+-]+@[a-za-z0-9.-]+\\.[a-za-z]{2,4}", message="邮件格式错误")
@Length(min = 5, max = 20, message = "用户名长度必须位于5到20之间")
@Email(message = "比如输入正确的邮箱")
@NotNull(message = "用户名称不能为空")
@Max(value = 100, message = "年龄不能大于100岁")
@Min(value= 18 ,message= "必须年满18岁!" )
@AssertTrue(message = "bln4 must is true")
@AssertFalse(message = "blnf must is falase")
@DecimalMax(value="100",message="decim最大值是100")
DecimalMin(value="100",message="decim最小值是100")
@NotNull(message = "身份证不能为空")
@Pattern(regexp="^(\\d{18,18}|\\d{15,15}|(\\d{17,17}[x|X]))$", message="身份证格式错误")你可以试试访问:
http://127.0.0.1:8080/user?name=1
http://127.0.0.1:8080/user?name=11
然后看控制台的log,具体不演示了,如果你想看更多,推荐:https://blog.csdn.net/jiaobuchong/article/details/74094155
Spring-boot单元测试
先添加依赖包:
//单元测试jar包
compile ("org.springframework.boot:spring-boot-starter-test")然后在这个位置创建一个Test类

内容为:
@RunWith(SpringJUnit4ClassRunner.class)
//指向启动类
@SpringBootTest(classes = UnitApp.class)
@WebAppConfiguration
public class Test {
@Autowired
private UserMapper userMapper;
@org.junit.Test
public void testUnitController(){
User user=userMapper.selectUserById(1);
System.out.println("结果"+user);
}
}主要是那3个注解,指定Unit的Runner,指定启动的app类。很容易理解,不多记录了。不玩Spring-boot了,平时很少用到,下次说不定这个又落伍了?
本站广告由 Google AdSense 提供
0条评论