spring boot增删改查

2、扩展SpringMVC的功能

3、controller

4、前端页面

5、实现效果


一、开发web应用


Spring Boot Web 开发非常的简单,其中包括常用的 json 输出、filters、property、log 等

二、json接口开发


以前使用spring开发项目,需要提供json接口时需要做什么呢?

1、 添加jackjson等相关的jar包

2、配置spring controller扫描包

3、对接的方法添加 @ResponseBody

我们经常由于配置错误出现406错误,由于扫描包理解不到位的配置错误(SSM框架就遇到了,搞了好几天才解决掉!)等等,springboot如何做呢,只需要类添加 @RestController  即可,默认类中的方法都会以json的格式返回

@RestController

public class HelloController {

@RequestMapping(“/getUser”)

public User getUser() {

User user=new User();

user.setUserName(“素小暖”);

user.setPassWord(“xxxx”);

return user;

}

}

如果需要使用页面开发只要使用[@Controller]( )注解即可,下面会结合模板来说明。

三、自定义filter


我们常常在项目中会使用filters用于调用日志、排除有XXS威胁的字符、执行权限验证等等。

springboot自动添加了 OrderedCharacterEncodingFilter 和 HiddenHttpMethodFilter, 并且我们可以自定义filter。

两个步骤

1、实现filter接口,实现filter方法

2、添加 @Configuration 注解,将自定义filter加入过滤链

@Configuration

public class WebConfiguration {

@Bean

public RemoteIpFilter remoteIpFilter() {

return new RemoteIpFilter();

}

@Bean

public FilterRegistrationBean testFilterRegistration() {

FilterRegistrationBean registration = new FilterRegistrationBean();

registration.setFilter(new MyFilter());

registration.addUrlPatterns(“/*”);

registration.addInitParameter(“paramName”, “paramValue”);

registration.setName(“MyFilter”);

registration.setOrder(1);

return registration;

}

public class MyFilter implements Filter {

@Override

public void destroy() {

// TODO Auto-generated method stub

}

@Override

public void doFilter(ServletRequest srequest, ServletResponse sresponse, FilterChain filterChain)

throws IOException, ServletException {

// TODO Auto-generated method stub

HttpServletRequest request = (HttpServletRequest) srequest;

System.out.println(“this is MyFilter,url :”+request.getRequestURI());

filterChain.doFilter(srequest, sresponse);

}

@Override

public void init(FilterConfig arg0) throws ServletException {

// TODO Auto-generated method stub

}

}

}

四、自定义property


在 Web 开发的过程中,我经常需要自定义一些配置文件,如何使用呢?

1、配置在application.properties中

server.port=8081

#spring.profiles.active=dev

idea\uFF0Cproperties\u914D\u7F6E\u6587\u4EF6utf-8

\uFFFD\uFFFD\uFFFD\uFFFDperson\uFFFD\uFFFD\u05B5

person.last-name=\u5F20\u4E09${random.uuid}

person.age=${random.int}

person.birth=2017/12/15

person.boss=false

person.maps.k1=v1

person.maps.k2=14

person.lists=a,b,c

person.dog.name=${person.hello:hello}_dog

person.dog.age=15

2、自定义配置类

@Component

public class NeoProperties {

@Value(“${person.last-name}”)

private String last-name;//此处last-name与lastName一样

@Value(“${person.age}”)

private int age;

//省略getter settet方法

}

3、log配置

配置输出的地址和输出级别

logging.path

  • 13
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值