萌新的Java入门日记15

Maven

maven作用:用于统一管理第三方制作好的Jar

maven项目的坐标

    <groupId>org.example</groupId>
    <artifactId>EwsySpringA</artifactId>
    <version>1.0-SNAPSHOT</version>

阿里镜像

 
--------xml
    <mirror> 
            <id>alimaven</id>
            <name>aliyun maven</name>
            <url>https://maven.aliyun.com/repository/public</url>
            <mirrorOf>central</mirrorOf>
        </mirror>
---------
启动SpringBoot步骤

(1) 创建一个主类,并使用@SpringBootApplication注解
(2) SpringApplication.run(类对象,args)

@SpringBootApplication
public class EasySpringAApplication {
    //项目启动类  运行起该类就运行了整个项目
    public static void main(String[] args) {
        SpringApplication.run(EasySpringAApplication.class,args);
 
    }
 
}

Spring 常用注解 

1. 组件扫描注解
@Controller:用于Web层,标识一个类为控制器组件,处理HTTP请求。
@RestController:组合了@Controller和@ResponseBody,用于RESTful Web服务,方法返回值直接作为响应体。
@Service:用于业务逻辑层,标识一个类为服务层组件,处理业务逻辑。
@Repository:用于数据访问层(DAO),标识一个类为持久层组件,处理数据访问。
@Component:通用组件注解,标识一个类为Spring组件,适用于其他功能类。
2. 配置注解
@Bean:在配置类中使用,定义一个Spring Bean。
@Configuration:标识一个类为配置类,包含Spring Bean的定义。
3. 其他常用注解
@Autowired:自动装配Bean,按类型注入。
@Qualifier:与@Autowired一起使用,按名称注入。
@Value:注入配置文件中的属性值。
@Scope:定义Bean的作用域,如单例(singleton)或原型(prototype)。
@PostConstruct:在Bean初始化后执行的方法。
@PreDestroy:在Bean销毁前执行的方法。
@RequestMapping(("/访问路径") ):映射HTTP请求到控制器方法。
@GetMapping、@PostMapping、@PutMapping、@DeleteMapping:分别映射GET、POST、PUT、DELETE请求。
@RequestParam:绑定请求参数到方法参数。
@PathVariable:绑定URL路径变量到方法参数。
@RequestBody:绑定请求体到方法参数。
@ResponseBody:将方法返回值作为响应体。
@Transactional:声明式事务管理,标识一个方法或类需要事务支持。

Spring Bean的作用域:
* singleton  单例模式 (一个对象)---默认作用域
* prototype  原型模式 (每次需要都来一个新的对象)
* request    web项目中请求作用域,每次请求都会创建一个新的对象
* session    每次会话都会创建一个新的对象,
* (第一次访问服务器开始,默认30分钟超时断掉session,安全退出断掉session)
* GlobalSession  (分布式集群) 全局的

springbean的生命周期
1)根据配置情况调用 Bean 构造方法或工厂方法实例化 Bean。

2)利用依赖注入完成 Bean 中所有属性值的配置注入。

3) 如果 Bean 实现了 BeanNameAware 接口,则 Spring 调用 Bean 的 setBeanName() 方法传入当前 Bean 的 id 值。

4)如果 Bean 实现了 BeanFactoryAware 接口,则 Spring 调用 setBeanFactory() 方法传入当前工厂实例的引用。

5) 当一个 Bean 实现了 ApplicationContextAware 接口并在 Spring 容器中被实例化时,Spring 容器会自动调用该 Bean 的 setApplicationContext 方法,并将应用程序上下文ApplicationContext作为参数传递进来

6)BeanPostProcessor 是 Spring 框架中的一个重要接口,它允许开发者在 Spring 容器创建和初始化 bean 的过程中,对 bean 进行自定义处理。这包括在 bean 实例化之后、属性设置之前(postProcessBeforeInitialization 方法),以及在 bean 初始化之后(postProcessAfterInitialization 方法)执行自定义逻辑 Spring 容器在创建和初始化每一个 bean 时,都会调用 CustomBeanPostProcessor 中的这两个方法,允许你进行自定义处理

在这一步执行的是postProcessBeforeInitialization方法

7)InitializingBean 是 Spring 框架中的一个接口,它定义了一个 afterPropertiesSet 方法。当 Spring 容器创建 bean 的所有属性都被设置完成后,会调用这个方法。

8)如果在配置文件中通过 init-method 属性指定了初始化方法,则调用该初始化方法。

initMethod指定的方法必须是void类型,并且不接受任何参数

9)如果 BeanPostProcessor 和 Bean 关联,则 Spring 将调用该接口的初始化方法 postProcessAfterInitialization()。此时,Bean 已经可以被应用系统使用了。

10)如果在 <bean> 中指定了该 Bean 的作用范围为 scope="singleton",则将该 Bean 放入 Spring IoC 的缓存池中,将触发 Spring 对该 Bean 的生命周期管理;如果在 <bean> 中指定了该 Bean 的作用范围为 scope="prototype",则将该 Bean 交给调用者,调用者管理该 Bean 的生命周期,Spring 不再管理该 Bean。

@Scope(scopeName =ConfigurableBeanFactory.SCOPE_PROTOTYPE )

@Scope(scopeName =ConfigurableBeanFactory.SCOPE_SINGLETON)

11)如果 Bean 实现了 DisposableBean 接口,则 Spring 会调用 destory() 方法将 Spring 中的 Bean 销毁;如果在配置文件中通过 destory-method 属性指定了 Bean 的销毁方法,则 Spring 将调用该方法对 Bean 进行销毁。

  • 23
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Black__Emperor

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值