一.想使用spring框架首先是创建maven项目;
①File->②new -->③module -->④在左侧边栏点击maven然后在右主界面点击org.apache.maven.achetypes:maven-apache-webapp
—>⑤点击next–>⑥然后填写组织名和项目名(GroupId 和Artifact)–>⑦修改maven插件为自己下载的maven包和修改maven包的setting.xml再加上修改本地仓库。–>⑧最后确认项目名和项目路径finish。
二. 配置spring框架所需的依赖和注解
①首先需要在pom.xml中配置依赖包括但不限于:核心jar包(core,context,beans,expression)以及帮助类jar包lombok,连接数据库用的jar包mysql-connector-java,单元测试jar包(junit),阿里巴巴依赖(druid)用于管理数据库连接池,还有提供注解声明的javax.annotation-api
<dependencies>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-core 核心库-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>5.2.9.RELEASE</version>
</dependency>
<!-- 自动生成get和set -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.12</version>
<scope>provided</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-beans -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>5.2.9.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.2.9.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-expression -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-expression</artifactId>
<version>5.2.9.RELEASE</version>
</dependency>
<!-- 单元测试-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.annotation</groupId>
<artifactId>javax.annotation-api</artifactId>
<version>1.3.2</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.11</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.2.1</version>
</dependency>
</dependencies>
②而后是配置一个config类,并在类名上方写上注解@Configruation代表他是代替核心配置文件的,而@ComponentScan(BasePackage={“com.demo”})是扫描器用于给spring容器提供bean方法的位置
③而后创建数据库表。
eg:
③建立实体类pojo:并且也可以在pojo类上加@Component(“名字”)代表这个类是个bean配置
eg:
//以下的四个注解是通过lombok包实现getset创建构造器创建,toString创建等
@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
public class AB {
private Integer id;//ement, -- 主键
private String name;//-- 账单名称
private Double money;// 金额
private String payway;//付款|收款方式
private Date createTime;//日期
private String description;// 账单描述
}
④在dao层则使用@Repository(“abDAO1”)仓库注解。
eg:
//第一个是事先创建的ABDAO的接口
public interface IABDAO {
public void add(AB ab);
}
//下一个继承上一个接口
@Repository("abDAO1")
public class ABDAO1 implements IABDAO{
@Override
public void add(AB ab) {
System.out.println(" =abDAO1 " );
}
}
⑤service层则使用@Service(“abService”)注解 要注意的是在他的属性上方要加@Resource(name = “abDAO2”)或者是@Autowired通过类型进行转换在通过@Qualifier( “abDAO2”)查找该类中的名字。
@Service("abService")// <bean id="abService" class="com.service.ABService" autowire="byType">
public class ABService {
// bytype 第一种
// @Autowired
// @Qualifier( "abDAO2")
// 第二种 byName
@Resource(name = "abDAO2")
private IABDAO abdao; // ABService依赖于ABDAO
public void addAB(AB ab) {
System.out.println("--service层的addAB方法--");
System.out.println("--abdao = " + abdao);
abdao.add(ab);
}
}
⑥最后在test中进行测试:三部曲:获取congfig的字节码,然后在通过它的引用获取指定的bean,最后调用方法
public class PersonTest {
public static void main(String[] args) {
AnnotationConfigApplicationContext ac=new AnnotationConfigApplicationContext(AppConfig.class);
Worker worker=(Worker)ac.getBean("worker");
worker.doSome();
}
}