Spring学习(一)

入门Spring

1
2
3
4
5
6
package com.xiaoguan.dao;

public interface UserDao {
void deleteById();
}

1
2
3
4
5
6
7
package com.xiaoguan.service;

public interface UserService {
//删除用户信息
void deleteUser();
}

1
2
3
4
5
6
7
8
9
10
11
12
package com.xiaoguan.web;

import com.xiaoguan.service.UserService;
import com.xiaoguan.service.impl.UserServiceImpl;

public class UserAction {
private UserService userService ;
public void deleteRequest(){
userService.deleteUser();
}
}

1
2
3
4
5
6
7
8
9
10
11
12
13
package com.xiaoguan.test;

import com.xiaoguan.web.UserAction;
import org.junit.Test;

public class testUser {
@Test
public void testUser1(){
UserAction userAction = new UserAction();
userAction.deleteRequest();
}
}

1
2
3
4
5
6
7
8
package com.xiaoguan.bean;

public class User {
public User() {
System.out.println("User无参数构造方法执行!uu");
}
}

1
2
3
4
5
6
7
8
package com.xiaoguan.bean;

public class Vid {
public Vid() {
System.out.println("vid执行l");
}
}

1
2
3
4
5
6
7
8
package com.xiaoguan.dao;

public class UserDaoImplForMySql {
public void insert(){
System.out.println("mysql正在insert");
}
}

1
2
3
4
5
6
<?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">
<bean id="vidBean" class="com.xiaoguan.bean.Vid"/>
</beans>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?xml version="1.0" encoding="UTF-8"?>

<configuration>

<loggers>
<!--
level指定日志级别,从低到高的优先级:
ALL < TRACE < DEBUG < INFO < WARN < ERROR < FATAL < OFF
-->
<root level="ERROR">
<appender-ref ref="spring6log"/>
</root>
</loggers>

<appenders>
<!--输出日志信息到控制台-->
<console name="spring6log" target="SYSTEM_OUT">
<!--控制日志输出的格式-->
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss SSS} [%t] %-3level %logger{1024} - %msg%n"/>
</console>
</appenders>

</configuration>
1
2
3
4
5
6
7
8
9
<?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">
<bean id="userBean" class="com.xiaoguan.bean.User"/>
<bean id="mysqlDao" class="com.xiaoguan.dao.UserDaoImplForMySql"/>
<bean id="nowTime" class="java.util.Date"/>
<bean id="userDao" class="com.xiaoguan.dao.UserDaoImplForMySql"/>
</beans>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
package com.xiaoguan.test;
import com.xiaoguan.bean.User;
import com.xiaoguan.dao.UserDaoImplForMySql;
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import java.text.SimpleDateFormat;
import java.util.Date;

public class FirstSpringTest {
@Test
public void testLog(){
new ClassPathXmlApplicationContext("spring6.xml","beans.xml");
Logger logger= LoggerFactory.getLogger(FirstSpringTest.class);
logger.info("我是一条消息");
logger.debug("我是一条调试信息");
logger.error("我是一条错误信息");
}
@Test
public void testBeanFactory(){
ApplicationContext applicationContext=new ClassPathXmlApplicationContext("spring6.xml","beans.xml");
User userBean = applicationContext.getBean("userBean", User.class);
System.out.println(userBean);
}
@Test
public void testFirstSringCode(){
//文件没有在类路径下可以用FileSystemApplicationContext()里面写文件的绝对路径来读
ApplicationContext applicationContext=new ClassPathXmlApplicationContext("spring6.xml","beans.xml");
Object userBean = applicationContext.getBean("userBean");
System.out.println(userBean);
Object mysqlDao = applicationContext.getBean("mysqlDao");
System.out.println(mysqlDao);
Date time = applicationContext.getBean("nowTime", Date.class);
System.out.println(time);

SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SS");
String formatTime = simpleDateFormat.format(time);
System.out.println(formatTime);

UserDaoImplForMySql userDao = applicationContext.getBean("userDao", UserDaoImplForMySql.class);
userDao.insert();
}
}