Spring5学习笔记(一)Spring入门HelloWorld

网友投稿 644 2022-05-29

一、简介

二、入门实例

三、HelloWorld入门总结

一、简介

二、入门实例

三、HelloWorld入门总结

一、简介

spring官网

Spring官方-

Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅仅限于服务器端的开发。从简单性、可测试性和松耦合性角度而言,绝大部分Java应用都可以从Spring中受益。

目的:解决企业应用开发的复杂性

功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能

范围:任何Java应用

Spring是一个轻量级控制反转(IoC)和面向切面(AOP)的容器框架。

Spring的初衷:

JAVA EE开发应该更加简单。

使用接口而不是使用类,是更好的编程习惯。Spring将使用接口的复杂度几乎降低到了零。

为JavaBean提供了一个更好的应用配置框架。

更多地强调面向对象的设计,而不是现行的技术如JAVA EE。

Spring5学习笔记(一)Spring入门HelloWorld

尽量减少不必要的异常捕捉。

使应用程序更加容易测试。

Spring的目标:

可以令人方便愉快的使用Spring。

应用程序代码并不依赖于Spring APIs。

Spring不和现有的解决方案竞争,而是致力于将它们融合在一起。

Spring的基本组成:

最完善的轻量级核心框架。

通用的事务管理抽象层。

JDBC抽象层。

集成了Toplink, Hibernate, JDO, and iBATIS SQL Maps。

AOP功能。

灵活的MVC Web应用框架。

优点:

JAVA EE应该更加容易使用。

面向对象的设计比任何实现技术(比如JAVA EE)都重要。

面向接口编程,而不是针对类编程。Spring将使用接口的复杂度降低到零。(面向接口编程有哪些复杂度?)

代码应该易于测试。Spring框架会帮助你,使代码的测试更加简单。

JavaBean提供了应用程序配置的最好方法。

在Java中,已检查异常(Checked exception)被过度使用。框架不应该迫使你捕获不能恢复的异常。

缺点

使用了大量的反射机制,反射机制非常占用内存。

二、入门实例

ioc.xml

Person实体类

public class Person { private String lastName; private Integer age; private String gender; private String email; @Override public String toString() { return "Person [lastName=" + lastName + ", age=" + age + ", gender=" + gender + ", email=" + email + "]"; } public String getLastName() { return lastName; } public void setLastName(String lastName) { this.lastName = lastName; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } }

创建Junit Test测试类

import static org.junit.jupiter.api.Assertions.*; import org.junit.jupiter.api.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import com.dong.Person; class IOCTest { /** * 从容器中拿到这个组件 */ @Test void test() { //ApplicationContext:代表IOC容器 //ClassPathXmlApplicationContext:当前应用的xml配置在classpath内路径下 //创建ioc容器 ApplicationContext application = new ClassPathXmlApplicationContext("ioc.xml"); //容器帮我们创建好对象了,根据xml中的id拿值 Person person = (Person)application.getBean("person01"); System.out.println(person); } }

运行结果

三、HelloWorld入门总结

先导包在创建配置文件

类图标出现s表明Spring接管了该类

new ClassPathXmlApplicationContext(“ioc.xml”); ioc容器的位置文件在类路径下

new FileSystemXmlApplicationContext(“D://ioc.xml”); ioc容器的配置路径在磁盘路径下

容器中对象的创建在容器创建完成的时候就已经创建好了;

即:ApplicationContext application = new ClassPathXmlApplicationContext(“ioc.xml”);

同一个组件在ioc容器中时单实例的,即只会创建一份

如果获取容器中没有的组件,则会报错

org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'xxx' available

ioc容器在创建这个组件对象的时候,(property)会利用setter方法为javaBean的属性赋值

javaBean的属性名是由->getter/setter方法中set后面那一串字符串首字母小写得到的

觉得写的不错的小伙伴,可以关注和哦,博主会持续发布与大家共同学习!

Java Spring

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:云原生2.0时代,华为云DevOps立体运维实践
下一篇:《OpenStack高可用集群(上册):原理与架构》—2.2.7 其他OpenStack服务
相关文章