Springboot配置maven环境
下载maven文件的jar包,打开文件夹,找到conf文件夹下的setting文件,使用记事本打开,选择aliyun镜像。
打开Idea,创建一个新的项目,类型选择maven。
进入后再设置中搜索maven,选择呢自己下载maven的文件路径。
点击应用,退出后自动加载maven包,如果不行,点击右侧maven图标,在里面选择install执行,就可以加载maven文件。
成功后在左侧JDK版本下就会显示maven下的jar包文件。
配置完成后打开pom.xml,在里面配置依赖文件 ,完成环境的配置。
“约定大于配置”是许多现代开发框架的设计哲学之一,它意味着框架通过设定一些默认值和规则来减少开发者的配置工作量,使得开发过程更加简洁和高效。
ICO
“IOC”(Inversion of Control,控制反转)是软件设计中的一个重要概念,它指的是将控制权从应用程序代码中转移到框架或容器中。这种设计模式主要用来提高代码的解耦性和可维护性。在 Java 生态系统中,IOC 主要通过依赖注入(Dependency Injection,DI)实现。
DI
依赖注入(Dependency Injection,简称 DI)是控制反转(IOC)的一种实现方式,它是一种设计模式,用于减少对象之间的耦合性,提高代码的灵活性和可维护性。DI 的基本思想是将对象的创建和管理职责从客户端代码转移到外部容器或框架中,从而解耦对象之间的关系。
常用注解
@Controller 标记一个类作为 Spring MVC 控制器,用于处理 HTTP 请求和返回视图名。
@RestController结合了 @Controller 和 @ResponseBody,用于构建 RESTful Web 服务。所有的方法都默认返回 JSON 或 XML 格式的数据,而不是视图名称。
@Service标记一个类为业务逻辑层的组件,用于处理业务逻辑。Spring 容器会将其注册为 Bean,并进行管理。通常用于服务层的类。
@Repository标记一个类为数据访问层的组件。Spring 会处理持久化相关的异常,并将其转换为 Spring 的数据访问异常。常用于数据访问层的类。
@Componment 用于标记一个类为 Spring 容器中的通用组件。
@Bean 用于在 Java 配置类中定义一个 Bean。它将方法的返回值注册为 Spring 容器中的一个 Bean。
@Configuration用于标记一个类为 Spring 的配置类。这个类可以包含 @Bean
注解的方法,用于定义 Spring 容器中的 Bean。
@Autowired用于自动注入 Spring 容器中的 Bean。可以用在构造函数、字段或 setter 方法上。
@RequestMapping用于映射 HTTP 请求到控制器的方法上。可以通过属性来指定请求路径、方法类型等。
springbean的作用域
1.singleton 单例模式 一个对象
2.prototype 原型模式 每次需要都来一个新的对象
3.Request 请求作用域,web项目中,每次请求都会创建一个新的对象
4.session 会话 每次会话都会创建一个新的对象 默认30分钟断开连接
5.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 中的这两个方法,允许你进行自定义处理。
7.InitializingBean 是 Spring 框架中的一个接口,它定义了一个 afterPropertiesSet 方法。当 Spring 容器创建 bean 的所有属性都被设置完成后,会调用这个方法。
8.如果在配置文件中通过 init-method 属性指定了初始化方法,则调用该初始化方法。
9.如果 BeanPostProcessor 和 Bean 关联,则 Spring 将调用该接口的初始化方法 postProcessAfterInitialization()。此时,Bean 已经可以被应用系统使用了。
10.如果在 <bean> 中指定了该 Bean 的作用范围为 scope="singleton",则将该 Bean 放入 Spring IoC 的缓存池中,将触发 Spring 对该 Bean 的生命周期管理;如果在 <bean> 中指定了该 Bean 的作用范围为 scope="prototype",则将该 Bean 交给调用者,调用者管理该 Bean 的生命周期,Spring 不再管理该 Bean。
11.如果 Bean 实现了 DisposableBean 接口,则 Spring 会调用 destory() 方法将 Spring 中的 Bean 销毁;如果在配置文件中通过 destory-method 属性指定了 Bean 的销毁方法,则 Spring 将调用该方法对 Bean 进行销毁。
运行结果如下: