从Spring到Spring-boot

从Spring到Spring-boot

本学期学习了javaEE之后,学习了Spring框架基本理论和初步使用,之后在软件工程的实践中,后端部分决定使用Spring-boot来进行开发,因此有进一步学习。

简述

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。

简而言之就是使得开发人员在配置方面可以方便许多,不需要XML配置等。(在软工实践的过程中最大的体会就是,maven中不需要添加很多依赖,添加和导入包部分简单了许多)

Spring-boot的优点

1:创建独立的spring应用。
2:嵌入Tomcat, Jetty Undertow 而且不需要部署他们。
3:提供的“starters” poms来简化Maven配置
4:尽可能自动配置spring应用。
5:提供生产指标,健壮检查和外部化配置
6:绝对没有代码生成和XML配置要求

例如导入测试库依赖:我们通常使用Spring Test,JUnit,Hamcrest和Mockito库。在Spring项目中,我们应该将所有这些库添加为依赖项。但是在Spring Boot中,我们只需要添加spring-boot-starter-test依赖项来自动包含这些库

MVC配置

spring中

Spring需要定义调度程序servlet,映射和其他支持配置。我们可以使用 web.xml 文件或Initializer类来完成此操作,还需要将@EnableWebMvc注释添加到@Configuration类,并定义一个视图解析器来解析从控制器返回的视图:

public class MyWebAppInitializer implements WebApplicationInitializer { 
 
    @Override 
    public void onStartup(ServletContext container) { 
        AnnotationConfigWebApplicationContext context = new 			         AnnotationConfigWebApplicationContext(); 
        context.setConfigLocation("com.pingfangushi"); 
        container.addListener(new ContextLoaderListener(context)); 
        ServletRegistration.Dynamic dispatcher = container 
          .addServlet("dispatcher", new DispatcherServlet(context)); 
        dispatcher.setLoadOnStartup(1); 
        dispatcher.addMapping("/"); 
    } 
} 


@EnableWebMvc 
@Configuration 
public class ClientWebConfig implements WebMvcConfigurer {  
   @Bean 
   public ViewResolver viewResolver() { 
      InternalResourceViewResolver bean 
        = new InternalResourceViewResolver(); 
      bean.setViewClass(JstlView.class); 
      bean.setPrefix("/WEB-INF/view/"); 
      bean.setSuffix(".jsp"); 
      return bean; 
   } 
}

和上述操作一比,一旦我们添加了Web启动程序,Spring Boot只需要在application配置文件中配置几个属性来完成如上操作:

spring.mvc.view.prefix=/WEB-INF/jsp/ 
spring.mvc.view.suffix=.jsp 

Spring-boot中sql语句

Spring中使用sql语句需要定义很多的XML文件,XML中sql语句的编写和对查询到属性装配也显得十分臃肿和繁琐,会让人很难受。

spring-boot中使用sql语句

只需要定义一个接口并且使用注解将sql语句填入即可

public interface UserMapper {
    @Select("SELECT * FROM users WHERE id = #{id}")
    @Results({
        @Result(property = "userName",  column = "username"),
        @Result(property = "nickName", column = "nick_name")
    })
    UserEntity getOne(Long id);

    @Insert("INSERT INTO users(userName,passWord,user_sex) VALUES(#{userName}, #{passWord}, #{userSex})")
    void insert(UserEntity user);

    @Update("UPDATE users SET userName=#{userName},nick_name=#{nickName} WHERE id =#{id}")
    void update(UserEntity user);

    @Delete("DELETE FROM users WHERE id =#{id}")
    void delete(Long id);

}

结论心得

简而言之,我们可以说Spring Boot是Spring本身的扩展,使开发,测试和部署更加方便。

posted @ 2021-06-28 17:54  小思理  阅读(160)  评论(1编辑  收藏  举报