Spring进阶(一):Springmvc常用注解标签详解(spring springmvc常用注解)
627
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。
尽量减少不必要的异常捕捉。
使应用程序更加容易测试。
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小时内删除侵权内容。