spring boot 让Java开发之路更简单

Spring Boot简介

Spring Boot 是由 Pivotal 团队开发的框架,其作用是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置,简单理解就是springboot并不是什么新型的框架,而是整合了spring,springmvc等框架(通过spring boot starter项目管理其提供的所有依赖的版本),默认了很多配置,从而减少了开发者的开发时间。

初步使用Spring Boot

以简单Maven为例,我们先导入Spring Boot依赖,如下代码块所示:



		org.springframework.boot
		spring-boot-starter-parent
		1.5.10.RELEASE



java.version 指定jdk版本号:
1.8

添加spring-boot-starter-web依赖

		org.springframework.boot
		spring-boot-starter-web


   
    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    

接下来创建一个启动类:

@SpringBootApplication
// @MapperScan("cn.itsource.dao")
public class startApp {
	public static void main(String[] args) {
		SpringApplication.run(App.class, args);
	}
}

再写一个测试的Controller:

//@RestController//只返回数据,不支持跳转页面
@Controller
public class HelloController {
	@RequestMapping("/hello")
	public String hello(Model model) throws Exception{
		return "hello springboot!";
	}
}

最后运行startApp主方法 ,并浏览器地址栏输入:http://localhost:8080/hello,若果页面显示了我们返回的数据“hello springboot!”,则代表测试成功!

spring boot 热部署

通常在开发中,每次修改完代码后都要重启服务器或App,导致开发节奏缓慢,很麻烦,使用spring-boot-devtools来解决这个问题!

添加依赖包即可使用: 

            org.springframework.boot
            spring-boot-devtools
            true
	

Spring boot web

使用Spring boot进行web方面的操作,如跳转页面等。

首先导入依赖:

	
	
		
			org.springframework.boot
			spring-boot-starter-web
		

		
			org.springframework.boot
			spring-boot-devtools
			true 
		

		
		
			org.apache.tomcat.embed
			tomcat-embed-jasper
			provided
		
	

	
	
		
			
				org.springframework.boot
				spring-boot-maven-plugin
			
		
	

配置yml文件

server:
  port: 80    //服务端口
spring:
  mvc:
    view:     //视图前后缀
      prefix: /WEB-INF/jsp/ 
      suffix: .jsp

创建测试Controller

//@RestController//只返回数据,不支持跳转页面
@Controller
public class HelloController {
	@RequestMapping("/hello")
	public String hello(Model model) throws Exception{
		//return "hello springboot!";
		model.addAttribute("hello","欢迎你");
		return "hello";
	}
}

创建一个跳转的jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>




Insert title here


	this helloJsp
	
${hello}

重新启动APP并在浏览器输入地址访问,跳转页面。

Spring boot 持久化

    spring boot 不仅支持原生Jdbc,也支持Mybatis和JPA。

    这里重点讲一下springboot与mybatis的使用。

        引入相关依赖:
        
			org.springframework.boot
			spring-boot-starter-web
		
		
		
			mysql
			mysql-connector-java
		

		
		
			org.mybatis.spring.boot
			mybatis-spring-boot-starter
			1.3.0
		
		
			
		
			com.github.pagehelper
			pagehelper-spring-boot-starter
			1.2.2
		

 完善配置yml文件:

server:
  port: 80
spring:
  mvc:
    view: 
      prefix: /WEB-INF/jsp/
      suffix: .jsp
  datasource:   //数据源配置信息
    url: jdbc:mysql://localhost:3306/springboot
    username: root
    password: root
    driverClassName: com.mysql.jdbc.Driver
mybatis:      //mybatis扫描包
  type-aliases-package: cn.itsource.domain
  mapperLocations: classpath:cn/itsource/dao/mapper/*.xml

编写一个Mapper,此处增加和查询使用注解方式

@Mapper //扫描此接口
public interface UserMapper {
    @Insert("insert into t_user (name,pwd) values(#{name},#{pwd})")
    void saveUser(User user);

    @Select("select * from t_user where  id=#{id}")
    User getUser(Long id);
    
    @Select("select * from t_user")
    List getAllUser();
   
    void deleteUser(Long id);
    
    void updateUser(User user);
}

删除和修改使用配置Mapper.xml的方式







	delete from t_user where id = #{id}



	update  t_user set name=#{name},pwd=#{pwd} where id = #{id}


在Service中实现分页

@Service
public class UserServiceImpl implements IUserService{
   @Autowired
   UserMapper userMapper;  //注入mapper

@Override
public PageInfo getUsersByPage(Integer pageNum, Integer pageSize) {
    //分页
	PageHelper.startPage(pageNum, pageSize);
	List allUser = userMapper.getAllUser();
	PageInfo pageInfo = new PageInfo<>(allUser);
	for (User user : pageInfo.getList()) {
		System.out.println(user);
	}
	return pageInfo;
}

}

最终用一个Test类进行测试,注意数据库的变化。

@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(classes = App.class)
public class UserTest {
    @Autowired
    UserMapper userMapper;
    @Autowired
    IUserService userService;

    //保存
    @Test
    public void saveUser(){
        User user = new User();
       user.setName("zhang");
       user.setPwd("zhang");
        userMapper.saveUser(user);
    }

    //查询
    @Test
    public void getUser(){
        System.out.println(userMapper.getUser(1L));
    }
    
    //删除
    @Test
    public void deleteUser(){
       userMapper.deleteUser(3L);
    }
    
    //修改
    @Test
    public void updateUser(){
    	User user = userMapper.getUser(1L);
    	user.setName("ZHANG");
       userMapper.updateUser(user);
    }
    
    //分页
    @Test
    public void userPage(){
       userService.getUsersByPage(2, 2);
    }
}

 

你可能感兴趣的:(spring boot 让Java开发之路更简单)