上篇文章先容了Spring boot低级教程:spring boot(一):入门篇,利便各人快速入门、相识实践Spring boot特性;本篇文章接着上篇内容继承为各人先容spring boot的其它特性(有些未必是spring boot体系桟的成果,可是是spring出格推荐的一些开源技能本文也会先容),对了这里只是一个或许的先容,出格具体的利用我们会在其它的文章中来展开说明。
web开拓
spring boot web开拓很是的简朴,个中包罗常用的json输出、filters、property、log等
json 接口开拓
在以前的spring 开拓的时候需要我们提供json接口的时候需要做那些设置呢
就这样我们会常常由于设置错误,导致406错误等等,spring boot如何做呢,只需要类添加 @RestController 即可,默认类中的要领城市以json的名目返回
@RestController public class HelloWorldController { @RequestMapping("/getUser") public User getUser() { User user=new User(); user.setUserName("小明"); user.setPassWord("xxxx"); return user; } }
假如我们需要利用页面开拓只要利用 @Controller ,下面会团结模板来说明
自界说Filter
我们经常在项目中会利用filters用于录挪用日志、解除有XSS威胁的字符、执行权限验证等等。Spring Boot自动添加了OrderedCharacterEncodingFilter和HiddenHttpMethodFilter,而且我们可以自界说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开拓的进程中,我常常需要自界说一些设置文件,如何利用呢
设置在application.properties中
com.neo.title=纯洁的微笑 com.neo.description=分享糊口和技能
自界说设置类
@Component public class NeoProperties { @Value("${com.neo.title}") private String title; @Value("${com.neo.description}") private String description; //省略getter settet要领 }
log设置
设置输出的地点和输出级别
logging.path=/user/local/log logging.level.com.favorites=DEBUG logging.level.org.springframework.web=INFO logging.level.org.hibernate=ERROR
path为本机的log地点,logging.level 后头可以按照包路径设置差异资源的log级别
数据库操纵
在这里我重点报告mysql、spring data jpa的利用,个中mysql 就不消说了各人很熟悉,jpa是操作Hibernate生成各类自动化的sql,假如只是简朴的增删改查,根基上不消手写了,spring内部已经帮各人封装实现了。
下面简朴先容一下如安在spring boot中利用
1、添加相jar包
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency>
2、添加设置文件
spring.datasource.url=jdbc:mysql://localhost:3306/test spring.datasource.username=root spring.datasource.password=root spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.jpa.properties.hibernate.hbm2ddl.auto=update spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect spring.jpa.show-sql= true