Spring快速入门_01
程序员文章站
2022-03-05 23:17:01
...
Spring快速入门_01
spring简介:Spring 是于 2003 年兴起的一个轻量级的 Java 开发框架,它是为了解决企业应用开发
的复杂性而创建的。Spring 的核心是控制反转(IoC)和面向切面编程(AOP)。Spring 是可
以在 Java SE/EE 中使用的轻量级开源框架。
spring的优点:轻量、针对接口编程,解耦合、aop编程的支持、方便集成各种框架
实现步骤:
1.创建Maven项目
2.加入相关的依赖
spring的依赖
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.3.4</version>
</dependency>
Junit依赖
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
3.创建类(接口和它的实现类)和没有使用框架一样,就是普通的类
SomeService
package com.sqgxy.service;
public interface SomeService {
void doSome() ;
}
SomeServiceImpl
package com.sqgxy.service;
public class SomeServiceImpl implements SomeService{
@Override
public void doSome() {
System.out.println("执行了someservice");
}
}
4.创建spring需要使用的配置文件,声明类的信息,这些类有spring创建和管理
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<!--告诉spring创建对象
声明bean:告诉spring要创建某个类的对象
id:对象的自定义名称,唯一值,spring通过这个名称找到对象
class:类的全限定名称,不能是接口,因为spring是通过反射机制创建对象,必须使用类
spring就完成 SomeService someService=new SomeServiceImpl();
spring是把创建好的对象放到map中,spring框架有一个map存放对象
springMap.put(id的值,对象);
例如 springMap.put("someService",new SomeServiceImpl());
一个bean标签声明一个Java对象。
-->
<bean id="someService" class="com.sqgxy.service.SomeServiceImpl"/>
<bean id="someService1" class="com.sqgxy.service.SomeServiceImpl"/>
<!--创建一个存在的某个类的对象-->
<bean id="myDate" class="java.util.Date">
</bean>
</beans>
<!--spring的配置文件
beans:是根标签,spring把Java对象成为bean
spring-beans.xsd 是约束文件,和mybatis中的dtd是一样的
-->
5.测试spring
package com.sqgxy;
import com.sqgxy.service.SomeService;
import com.sqgxy.service.SomeServiceImpl;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* @Author zhw
* Version 1.0
* @Description TODO
* Date 2021/3/15 20:40
**/
public class MyTest {
@Test
public void test01(){
SomeService someService=new SomeServiceImpl();
someService.doSome();
}
//spring默认创建对象的时间:在创建spring的容器时,会创建配置文件中的所有的对象
//spring创建对象:默认调用的是无参数的构造方法
@Test
public void test02(){
//使用spring容器创建的对象
//指定spring配置文件的名称
String config="beans.xml";
//创建表示spring容器的对象,applicationContext
//ApplicationContext就是表示spring容器,通过容器获取对象
//ClassPathXmlApplicationContext:表示从类路径中加载spring的配置文件
ApplicationContext ac=new ClassPathXmlApplicationContext(config);
//获取对象 getBean(),spring中的ID值
SomeService service = (SomeService) ac.getBean("someService");
//使用spring创建好的对象
service.doSome();
}
/*
* 获取spring容器中Java对象的信息*/
@Test
public void test03(){
String config="beans.xml";
ApplicationContext ac=new ClassPathXmlApplicationContext(config);
//使用spring提供的方法,获取容器中定义的对象的数量
int nums = ac.getBeanDefinitionCount();
System.out.println(nums);
//容器中每个定义的对象的名称ID
String[] names = ac.getBeanDefinitionNames();
for (String name : names) {
System.out.println(name);
}
}
//获取一个非自定义的对象
@Test
public void test04(){
String config="beans.xml";
ApplicationContext ac=new ClassPathXmlApplicationContext(config);
Date myDate=(Date)ac.getBean("myDate");
SimpleDateFormat sdf=new SimpleDateFormat("yyyy:MM:dd HH:mm:ss");
System.out.println(sdf.format(myDate));
}
}
上一篇: php数组生成html下拉列表的方法
下一篇: HTML下拉菜单代码