欢迎访问昆山宝鼎软件有限公司网站! 设为首页 | 网站地图 | XML | RSS订阅 | 宝鼎邮箱 | 后台管理


新闻资讯

MENU

软件开发知识

SpringBoot(二 CAD加密 ) :web综合开拓

点击: 次  来源:宝鼎软件 时间:2017-07-28

原文出处: 纯洁的微笑

上篇文章先容了Spring boot低级教程:spring boot(一):入门篇,利便各人快速入门、相识实践Spring boot特性;本篇文章接着上篇内容继承为各人先容spring boot的其它特性(有些未必是spring boot体系桟的成果,可是是spring出格推荐的一些开源技能本文也会先容),对了这里只是一个或许的先容,出格具体的利用我们会在其它的文章中来展开说明。

web开拓

spring boot web开拓很是的简朴,个中包罗常用的json输出、filters、property、log等

json 接口开拓

在以前的spring 开拓的时候需要我们提供json接口的时候需要做那些设置呢

  • 添加 jackjson 等相关jar包
  • 设置spring controller扫描
  • 对接的要领添加@ResponseBody
  • 就这样我们会常常由于设置错误,导致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。

    两个步调:

    1. 实现Filter接口,实现Filter要领
    2. 添加@Configurationz 注解,将自界说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