Spring是一个开放源代码的设计层面框架,是一个分层的JavaSE/EE full-stack(一站式) 轻量级开源框架。
(1)Test :用于测试使用 (2)Core container:核心容器,就是用于装Java Bean对象 (3)AOP:切面编程 (4)Aspects:提供了与AspectJ的集成 (5)Data access:数据访问。用于访问操作我们的数据库。支持持久层的操作。jdbcTemplate mybatis (6)Web:用于支持数据展示层,支持http请求 (7)Transactions:用于支持事物处理。用于解决业务层的事物处理问题。 编程式事务管理和声明式事务管理。
三种注入方式
1 @Autowired 或者 @Autowired @Qualifier(“bean的id”)2 @Value("#{bean的id}")3 @Resource(name=“bean的id值”)src\main\resources\applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <context:component-scan base-package="com.lgl"/> </beans>src\main\resources\log4j.properties
# Global logging configuration log4j.rootLogger=DEBUG, stdout # Console output... log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n配置依赖 pom.xml
<dependencies> <!--spring依赖 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.2.9.RELEASE</version> </dependency> <!--日志包--> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.25</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope> </dependency> </dependencies>src\main\java\com\lgl\domain\Person.java
public class Person { private String username; private String password; private int id; private String name; private int age; private Date birthday;src\main\java\com\lgl\service\PersonService.java
@Service public class PersonService { private static final Logger log= LoggerFactory.getLogger(PersonService.class); @Autowired PersonDao personDao; public void setPersonDao(PersonDao personDao) { this.personDao = personDao; } public boolean login(Person p) { log.debug(p+" login"); Person person = personDao.find(p); if(person==null) { return false; }else{ return true; } } }src\main\java\com\lgl\dao\PersonDao.java
@Repository public class PersonDao { public Person find(Person p) { if("jack".equals(p.getUsername())&&"12345".equals(p.getPassword())){ return p; }else{ return null; } } }src\test\java\com\lgl\demo01\Test01SpringIoc.java
@Test public void test10(){ PersonService personService = (PersonService) context.getBean("personService"); log.debug(personService+" test10"); PersonDao personDao = (PersonDao) context.getBean("personDao");//id为类名首字符小写 log.debug(personDao +" test10"); }结果
