7月19日学习总结

学习目标:

复习Java基础知识和学习springboot中注解的使用

学习内容:

  1. Java的基本数据类型:内置数据类型和引用数据类型。
    内置数据类型:byte、short、int、long、float、double、boolean、char。
    引用数据类型:对象、数组都是引用数据类型。
  2. Java中项目、模块、包类的关系:
    项目(Project):
    项目是最大的组织单位,通常代表一个完整的软件应用或一组相关的应用。一个项目可以包含多个模块,这些模块可能属于同一个应用的不同部分,或者构成一个应用的不同功能。
    模块(Module):
    模块是项目中的一个独立部分,它有自己的编译和运行属性。在Java中,模块的概念从Java 9开始引入,每一个模块都有自己的module-info.java文件来定义模块的属性和依赖。模块可以理解为一个独立的单元,有自己的作用域,可以包含多个包。
    包(Package):
    包是模块内部的划分,用于组织类和接口。它是类和接口的容器,提供了一种方式来命名和访问类。一个包中可以包含多个类和接口,它们通常具有相似的属性或功能。例如,所有的用户界面相关的类可以放在一个叫做com.example.ui的包中。
    类(Class):
    类是面向对象编程的基本单元,它包含对象的属性和行为。类可以继承其他类,实现接口,并可以包含抽象方法或具体方法。在Java中,每一个文件通常对应一个公开的类,这个类与文件名相同。
    接口(Interface):
    接口是一种完全抽象的类,它不能包含任何具体方法的实现,但是可以包含抽象方法。一个类可以实现多个接口,表明该类遵循接口中声明的抽象方法。接口定义了一种约定,规定了实现接口的类应遵循的规则。
  3. springboot中各个注解的作用:
    @Controller: 应用在MVC层(控制层),DispatcherServlet会自动 扫描注解了此注解的类,然后将web请求映射到注解了@RequestMapping的类或方法上。
@Controller
@ResponseBody
// 映射到类上
// localhost:8080/user
@RequestMapping("/user")
public class UserController {
		// 映射到方法上
		// localhost:8080/user/login
		// 此处通常用 @GetMapping("/user/login") 表明GET请求方式的映射
    @RequestMapping("/login") 
    public String login() {
        return "user login";
    }
    // 映射到方法上
    // localhost:8080/user/register
    // 此处通常用 @PostMapping("/user/login") 表明POST请求方式的映射
    @RequestMapping("/register")
    public String register() {
        return "user register";
    }
}

@Service: 应用在service层(业务逻辑层)。
@Reponsitory:应用在dao层(实现类)。
@Component:表示一个带注释的类是一个“组件”,成为Spring管理的Bean。当使用基于注解的配置和类路径扫描时,这些类被视为自动检测的候选对象。同时@Component还是一个元注解。

注意: @Controller、@Service、@Reponsitory都组合了
@Component注解。为了区分三层不同的作用,因此分别为三层起了不同的名字。

@Autowired:由Spring的依赖注入工具(BeanPostProcessor、BeanFactoryPostProcessor)自动注入,Spring提供的工具。
@Resource:依赖注入,给对象的属性注入数据,可以定义在字段上,也可以定义在方法上。一般用在注入dao层数据源,跟@Autowired相似,区别就是@Autowired默认是先根据类型,而@Resource默认是先根据名称
@Value:由于@Autowired、@Qualifier、@Resource三者自动装配只能针对于注入其他bean类型的数据,而基本类型和String类型无法使用上述注解实现。因此有了@Value这个注解,@Value专门用来服务基本类型和String类型。
WEB常用注解:
@RequestParam:将请求参数绑定到你控制器的方法参数上(是springmvc中接收普通参数的注解)。
@PathVariable:@PathVariable 放置在参数前,用来接受路径参数。
Spring Boot常用的注解
@SpringBootApplication:启动
SpringBoot的核心注解,主要目的是开启自动配置。它也是一个组合注解,主要组合了@Configuration,@EnableAutoConfiguration(核心)和@ComponentScan。可以通过@SpringBootApplication(exclude={想要关闭的自动配置的类名.class})来关闭特定的自动配置,其中@ComponentScan让spring Boot扫描到Configuration类并把它加入到程序上下文。@EnableAutoConfiguration:自动配置
此注释自动载入应用程序所需的所有Bean——这依赖于Spring Boot在类路径中的查找。该注解组合了@Import注解,@Import注解导入了EnableAutoCofigurationImportSelector类,它使用SpringFactoriesLoader.loaderFactoryNames方法来扫描具有META-INF/spring.factories文件的jar包。而spring.factories里声明了有哪些自动配置.
@Configuration:配置文件
等同于spring的XML配置文件;使用Java代码可以检查类型安全。
@ComponentScan:自动扫描
表示将该类自动发现扫描组件。个人理解相当于,如果扫描到有@Component、@Controller、@Service等这些注解的类,并注册为Bean,可以自动收集所有的Spring组件,包括@Configuration类。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值