public class UserServiceTest {
@Test
public void test02() throws Exception {
ApplicationContext context = new ClassPathXmlApplicationContext(“spring.xml”);
UserController userController = (UserController)context.getBean(“lcy”);
userController.test();
}
}
4.配置spring.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.lcySpring”/>
1.基本的框架配置
2.定义用户信息java类
public class User {
private String username;
private String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》
【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享
}
}
2.dao:验证用户密码是否准确
@Repository
public class UserDao {
private final String USERNAME=“lmr”;
private final String PASSWORD=“lcy”;
public User queryUserByName(String username){
if(usernamenull||username""){
return null;
}
else {
if(username.equals(USERNAME)){
User user=new User();
user.setPassword(PASSWORD);
user.setUsername(USERNAME);
return user;
}
else {
return null;
}
}
}
}
3.service:根据传入的用户名和密码进行格式判断并调用dao验证
@Service(“aaa”)
public class UserService {
@Resource
public UserDao userDao;
public String login(String username,String password) throws Exception{
if(username==null||"".equals(username)){
return “用户名为空”;
}
if(password==null||"".equals(password)){
return “密码为空”;
}
User user = userDao.queryUserByName(username);
if(user==null){
return “用户不存在”;
}
else{
if(password.equals(user.getPassword())){
return “登入成功”;
}
else {
return “登入失败”;
}
}
}
}
4.spring.xml中包扫描目录下的所有bean对象
<?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.lcySpring”/>
5.测试java类,进行用户登录模拟
public class UserServiceTest {
@Test
public void login() throws Exception{
ApplicationContext context = new ClassPathXmlApplicationContext(“spring.xml”);
UserService userService = (UserService)context.getBean(“aaa”);
String login =userService.login(“lmr”,“lcy”);
System.out.println(login);
}
}
1.判断是否是单例
public class SpringScopeTest {
@Test
public void test01(){
ApplicationContext context = new ClassPathXmlApplicationContext(“spring.xml”);
System.out.println(context.isSingleton(“aaa”));
}
}
2.可以通过修改xml文件中bean标签的scope进行修改
<?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.lcySpring”/>
3.也可以通过标签设置
@Service(“aaa”)
@Scope(“prototype”)
4.设置懒加载
用到的时候调用就好了
1.初始化监听
(1)在配置文件中通过指定init-method属性来完成
这里的init对应的是AccountDao中初始化的方法名
public class AccountDao implements InitializingBean {
public void init(){
System.out.println(“AccountDao>>>>>>>>>>>>>>>>>init”);
}
@Override
public void afterPropertiesSet() throws Exception {
System.out.println(“AccountDao>>>>>>>>>>>>>>>>>init”);
}
}