SpringBoot初体验

SpringBoot微服务是火的一塌糊涂,鄙人也不能免俗。学!!!

学习视频:尚学堂官网-百战程序员-SpringBoot

总结:SpringBoot是Spring框架的衍生,它极大的简化了Spring繁杂的配置文件。我们使用SSH或者SSM框架进行开发时,框架环境的搭建和Spring的配置花费的时间过多,所以SpringBoot的出现就是为我们解决这一问题的。

本次只学习了SpringBoot的初级课程,但通过本次学习也体会到:SpringBoot出现的好处在于简化配置文件,但是对于没有Spring配置经验的开发者来说这是不利的,由于知识的不全面而去追求极简开发是不对的。

学习内容总结如下。

截止2018.9.8日
学习了SpringBoot的基础部分,包含如下内容:
1、maven创建SpringBoot项目
    1.1 创建maven项目,依赖父工程
        org.springframework.boot
        spring-boot-starter-parent
        1.5.10.RELEASE
        
    1.2 修改pom.xml
        1.2.1 修改jdk版本
            <properties>
                // 注意:很多框架的版本都可以通过此方式修改:jar包名.version...
                <java.version>1.7<java.version>
            </properties>
            
        1.2.2 导入SpringBootWEB启动类
            <dependencies>
                <dependency>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-web</artifactId>
                    <version>1.5.10.RELEASE</version>
                </dependency>
            </dependencies>
            
    1.3 SpringMVC常用的注解
        1.3.1 @Controller:写在Controller上,代表该类是一个控制器
        1.3.2 @RequestMapping("/path") 写在类或方法上,都代表访问路径
        1.3.3 @ResponseBody 将方法的返回值封装成json格式给页面(jar包jackson)
        
    1.4 SpringBoot启动类
        1.4.1 @SpringBootApplication 写在类上
        1.4.2 main方法中:Application.run(App.class,args);
        

2、SpringBoot整合JavaWeb:servlet、filter、listener
    2.1 整合Servlet
        2.1.1 使用注解@WebServlet(name="FirstServlet",urlPatterns="/first")
            以上注解相当于web.xml中的这段配置:
            <servlet>
                <servlet-name>FirstServlet</servlet-name>
                <servlet-class>com.bjsxt.servlet.FirstServlet</servlet-class>
            </servlet>
            <servlet-mapping>
                <servlet-name>FirstServlet</servlet-name>
                <urlPattern>/firsts</urlPattern>
            </servlet-mapping>
        2.1.2 SpringBoot中整合Servlet的两种方式
            2.1.2.1 使用注解扫描注册
                @ServletComponentScan // 在SpringBoot启动时会扫描@WebServlet的注解,并将该类实例化
            
            2.1.2.2 使用方法注册
                在main中如下代码:
                @Bean
                public ServletRegistrationBean getServletRegistrationBean() {
                    ServletRegistrationBean bean = new ServletRegistrationBean(new SecondServlet());
                    bean.addUrlMappings("/second");
                    return bean;
                }
    2.2 filter与Servlet方式类似,因为filter本身也是Servlet
        2.2.1 注解扫描注册Filter @ServletComponentScan,Filter类上也使用@WebServlet
        2.2.2 方法注册
            @Bean
            public FilterRegistrationBean getFilterRegistrationBean() {
                FilterRegistrationBean bean = new FilterRegistrationBean(new SecondFilter());
                bean.addUrlPatterns("/second");
        
                return bean;
            }
            
    2.3 Listener
        2.3.1 注解扫描注册  @ServletComponentScan,Listener类上使用@WebListener
        2.3.2 方法注册
            @Bean
            public ServletListenerRegistrationBean<SecondLinstener> getServletListenerRegistrationBean() {
                ServletListenerRegistrationBean<SecondLinstener> bean = new                 ServletListenerRegistrationBean<SecondLinstener>(new SecondLinstener());
                return bean;
            }
    
3、SpringBoot访问静态资源
    3.1 放在class/static,src/main/resources/static
    3.2 放在ServletContext,src/main/webapp
    
4、SpringBoot使用SpringMVC做文件上传
    4.1 与一般的Controller一样,在该Controller中
        public String fileUpload(Multpart file) {
            file...可以调用其方法
        }
    
    4.2 页面的form表单
        <form action="" method="post" enctype="multipart/form-data">
            <submit>
        </form>
    
5、 SpringBoot整合jsp
    <dependency>
        <groupId>jstl</groupId>
        <artifactId>jstl</artifactId>
        <version>1.2</version>
    </dependency>
    <dependency>
        <groupId>org.apache.tomcat.embed</groupId>
        <artifactId>tomcat-embed-jasper</artifactId>
        <scope>provided</scope>
    </dependency>
        
    src/main/resources/application.properties
        spring.mvc.view.prefix=/WEB-INF/jsp
        spring.mvc.view.suffix=.jsp

6、前端框架freemarker、thymeleaf
    6.1 freemarker
        src/main/resources/templates/userList.ftl
        
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-freemarker</artifactId>
        </dependency>
        
    6.2 thymeleaf
        freemarker使用ftl格式替代jsp对传统的html做增强,
        thymeleaf在html的基础上做增强
        
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>
        
        
        <properties>
            <java.version>1.7</java.version>
            // thymeleaf的高版本放开了对html严谨性要求,如<meta>没有结束标签,如果不使用高版本默认会报错
            <thymeleaf.version>3.0.2.RELEASE</thymeleaf.version>
            <thymeleaf-layout-dialect.version>2.0.4</thymeleaf-layout-dialect.version>
        </properties>
    
7、SpringBoot整合SpringMVC、Mybatis持久化
    7.1 SpringMVC
        ...
    7.2 mybatis配置
        Mapper.xml
            <?xml version="1.0" encoding="UTF-8" ?>
                <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
                  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
                <mapper namespace="com.bjsxt.mapper.UserMapper">
                    <insert id="insertUser">
                        insert into user(name,age) values(#{name},#{age})
                    </insert>
                    <select id="listUser" resultType="User">
                        select * from user;
                    </select>
                    <update id="updateUser" parameterType="User">
                        update user set age=#{age},name=#{name} where id=#{id}
                    </update>
                    <delete id="deleteUser" parameterType="Integer">
                        delete from user where id=#{id}
                    </delete>
            </mapper>
        
        application.properties
            spring.datasource.driverClassName=com.mysql.jdbc.Driver
            spring.datasource.url=jdbc:mysql:///ssm
            spring.datasource.username=root
            spring.datasource.password=123
            
            spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
            
            mybatis.type-aliases-package=com.bjsxt.pojo
    使用到的注解:
        @Controller SpringMVC控制器
        @RequestMapping 访问路径映射
        @AutoWirde 自动注入
        @Service 
        @Transactional 事务
        
        Controller之间的跳转: return "redirect:/user/allUser";

以上。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值