21xrx.com
2024-09-20 01:06:52 Friday
登录
文章检索 我的文章 写文章
Java开发常用框架及案例介绍
2023-06-18 03:44:25 深夜i     --     --
Java框架 Spring MyBatis Spring

Java作为目前最流行的开发语言之一,众多的Java开发人员都在使用各种框架来进行开发,提高开发效率和代码质量。本文将为大家介绍Java开发中常用的框架并结合案例进行说明。

1. Spring框架

Spring是一个轻量级的IoC和AOP框架,可以帮助开发人员更好的解耦和组织代码,从而降低代码的复杂度。下面是一个简单的Spring的案例:


@Configuration

@ComponentScan(basePackages = "com.example")

public class AppConfig {

  @Bean

  public UserService userService() {

    return new UserServiceImpl();

  }

}

@Service

public class UserServiceImpl implements UserService {

  @Override

  public void sayHello(String name) {

    System.out.println("Hello, " + name);

  }

}

public class Main {

  public static void main(String[] args) {

    ApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class);

    UserService userService = context.getBean(UserService.class);

    userService.sayHello("John Doe");

  }

}

2. MyBatis框架

MyBatis是一款优秀的持久层框架,通过XML文件和Java接口来进行数据库操作。下面是一个简单的MyBatis案例:


  

public interface UserMapper {

  User getUserById(int id);

}

public class Main {

  public static void main(String[] args) throws Exception {

    String resource = "mybatis-config.xml";

    InputStream inputStream = Resources.getResourceAsStream(resource);

    SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

    SqlSession session = sqlSessionFactory.openSession();

    UserMapper userMapper = session.getMapper(UserMapper.class);

    User user = userMapper.getUserById(1);

    System.out.println(user);

  }

}

3. Spring Boot框架

Spring Boot是Spring的子项目,它可以帮助开发人员快速搭建Spring应用程序而无需关注繁琐的配置。下面是一个简单的Spring Boot案例:


@RestController

public class HelloWorldController {

  @GetMapping("/hello")

  public String sayHello() World!";

  

}

@SpringBootApplication

public class Main {

  public static void main(String[] args) {

    SpringApplication.run(Main.class, args);

  }

}

以上就是本文介绍的三个常用的Java开发框架以及案例示例。希望大家可以根据自己项目的实际情况选择合适的框架进行使用,从而更好的提高开发效率和代码质量。

Boot

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复